簡體   English   中英

無法在Eclipse中創建ServerSocket(Java)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM