[英]Unable to create a ServerSocket in eclipse (java)
我對使用Java編程非常陌生,但是在.NET(c#&vb.net)中有很多經驗。
我正在嘗試在eclipse IDE中創建一個serversocket類的新實例,當我鍵入以下代碼時,它給了我一個“未處理的異常類型IOException”,我還沒有嘗試運行該代碼!
我不明白我的代碼在運行時之前是如何異常的,或者我可以做些什么來解決它。
有人能幫我嗎?
違規代碼:
ServerSocket server = new ServerSocket(1234, 5, InetAddress.getLocalHost());
如果在編輯時在Java文件中給出“未處理的異常類型IOException”,則意味着您需要將該語句括起來
在try-catch塊中
嘗試{
ServerSocket服務器=新的ServerSocket(1234,5,InetAddress.getLocalHost());
}趕上(前IOException){
e.printStackTrace();
}
這是Java語言的一個功能 ,稱為Checked Exceptions 。 基本上,您調用的代碼中有一些異常可以在編譯時確定。 Java語言設計師認為,謹慎地強迫您處理它們。
在這種情況下,ServerSocket類構造函數在其方法簽名中聲明它拋出IOException。
有兩種方法可以消除編譯錯誤。
您可以將代碼包裝在try / catch中。
try
{
ServerSocket server = new ServerSocket(1234, 5, InetAddress.getLocalHost());
} catch (IOException e)
{
// handle exception
}
或者,您可以將責任轉移給調用方法。 例如,假設您在名為createSocket()
的方法中調用了ServerSocket
構造函數。 您將這樣聲明您的方法
public ServerSocket createSocket() throws IOException
{
ServerSocket server = new ServerSocket(1234, 5, InetAddress.getLocalHost());
return server;
}
在這種情況下,您只是將責任轉移到了電話鏈上,但這有時是有道理的。
這在Java語言中非常常見,以至於Eclipse提供了以上兩個選項作為快速修復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.