下面的代碼產生誤差數據報套接字「必須捕獲或聲明被拋出」
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