下面的代码产生误差数据报套接字“必须捕获或声明被抛出”
DatagramSocket socket = new DatagramSocket();
的java.net。*被包括在顶部
该错误是unreported exception java.net.SocketException; must be caught or d eclared to be thrown
它在使用线程的类中的方法run()中。
任何想法?
下面的代码产生误差数据报套接字“必须捕获或声明被抛出”
DatagramSocket socket = new DatagramSocket();
的java.net。*被包括在顶部
该错误是unreported exception java.net.SocketException; must be caught or d eclared to be thrown
它在使用线程的类中的方法run()中。
任何想法?
我建议你在try/catch块中抓住它并记录下来,或者将你的Runnable改为可调用的Void>,这可能会引起注意。
BTW:因为它可以让你回收你的线程和管理它们更容易,我会用一个ExecutorService而不是一个普通的主题。
+1正确的金钱,尤其是1337'赎回
错误消息是明确的,因为它都不可能。要么把在catch
块:
try {
DatagramSocket socket = new DatagramSocket();
// ...
}
catch (SocketException ex)
{
// ...
}
或者宣布你正在创建罐头插座的方法可能抛出SocketException
:
void foo() throws SocketException
{
DatagramSocket socket = new DatagramSocket();
// ...
}
Java已经检查异常,这意味着编译器手表这些东西给你。我不能说这是语言的一个很好的部分,但它是一个强制性的部分。
好了,你不要再追可能出现的
try {
DatagramSocket socket = new DatagramSocket();
} catch (SocketException e) {
e.printStackTrace();
}
安置自己确切的代码 – Vaandu 2012-04-20 08:26:59