Java 数据报套接字“;必须被抓住或宣布被扔出去;
以下代码正在生成错误Java 数据报套接字“;必须被抓住或宣布被扔出去;,java,Java,以下代码正在生成错误 DatagramSocket socket = new DatagramSocket(); java.net.*包含在顶部 错误是未报告的异常java.net.SocketException;一定要被抓住,否则就被抓住 eclared将被抛出 它位于使用线程的类中的run()方法中 有什么想法吗?我建议您在try/catch块中捕获并记录它,或者将您的Runnable更改为Callable,这样可以抛出一个例外 顺便说一句:我会使用ExecutorService,而不是普
DatagramSocket socket = new DatagramSocket();
java.net.*包含在顶部
错误是未报告的异常java.net.SocketException;一定要被抓住,否则就被抓住
eclared将被抛出
它位于使用线程的类中的run()方法中
有什么想法吗?我建议您在try/catch块中捕获并记录它,或者将您的Runnable更改为Callable,这样可以抛出一个例外
顺便说一句:我会使用ExecutorService,而不是普通线程,因为它允许您回收线程并更轻松地管理它们。我建议您在try/catch块中捕获它并记录它,或者将Runnable更改为可调用的,这样可以引发例外
顺便说一句:我会使用ExecutorService,而不是普通线程,因为它允许您回收线程并更轻松地管理它们。错误消息尽可能清楚。放入一个
catch
块:
try {
DatagramSocket socket = new DatagramSocket();
// ...
}
catch (SocketException ex)
{
// ...
}
或者声明您在其中创建套接字的方法可能会引发SocketException
:
void foo() throws SocketException
{
DatagramSocket socket = new DatagramSocket();
// ...
}
Java检查了异常,这意味着编译器会为您监视这些异常。我不能说这是语言的一个好部分,但它是一个必须的部分。错误信息尽可能清楚。放入一个
catch
块:
try {
DatagramSocket socket = new DatagramSocket();
// ...
}
catch (SocketException ex)
{
// ...
}
或者声明您在其中创建套接字的方法可能会引发SocketException
:
void foo() throws SocketException
{
DatagramSocket socket = new DatagramSocket();
// ...
}
Java检查了异常,这意味着编译器会为您监视这些异常。我不能说它是语言的一个好部分,但它是一个必须的部分。好吧,你没有抓住可能发生的SocketException
try {
DatagramSocket socket = new DatagramSocket();
} catch (SocketException e) {
e.printStackTrace();
}
嗯,您没有捕获可能发生的SocketException
try {
DatagramSocket socket = new DatagramSocket();
} catch (SocketException e) {
e.printStackTrace();
}