这段代码有什么问题
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* @author Master
*/
public class Server {
try
{
ServerSocket S = new ServerSocket(3333);
Socket So = S.accept();
}
catch(IOException e)
{
System.out.println("IOError");
}
}
首先,我编写了没有 try catch 的代码,然后我得到了一个 unreported exception java.io.IOException; must be caught or declared to be thrown
错误,但 Netbeans 没有建议我添加 try-catch block 。现在我手动添加了 try-catch block ,但它仍然显示错误并建议我必须添加另一个 try-catch block !
最佳答案
您正在尝试在类的顶层添加一个 try block - 您不能那样做。 Try block 必须在方法或初始化程序 block 中。
如果您真的想要在构造时创建服务器套接字,请将代码放在构造函数中:
public class Server {
private ServerSocket serverSocket;
private Socket firstConnection;
public Server {
try
{
serverSocket = new ServerSocket(3333);
firstConnection = serverSocket.accept();
}
catch(IOException e)
{
System.out.println("IOError");
}
}
}
当然,我假设您将拥有真正的异常处理(或重新抛出),而不是仅仅捕获 IOException 并继续?
关于java - 未报告的异常 java.io.IOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3885045/