當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java java.net.BindException用法及代碼示例


java.net.BindException 是當應用程序嘗試將套接字綁定到本地地址和端口時發生綁定錯誤時引發的異常。大多數情況下,發生這種情況的原因有兩個,或者端口已被使用(由於另一個應用程序),或者請求的地址無法分配給該應用程序。 BindException 繼承自 SocketException 類,因此表明存在與套接字創建或訪問相關的錯誤。

構造函數

以下構造函數可用於 BindException:

  • BindException():創建 BindException 類的簡單實例,沒有詳細消息
  • BindException(字符串消息):使用指定消息創建 BindException 類的實例作為發生綁定錯誤的原因。

方法總結

  1. 從類 java.lang.Throwable 繼承的方法:
    Throwable addSuppressed(),Throwable fillInStackTrace(),Throwable getCause(),Throwable getLocalizedMessage(),Throwable getMessage(),Throwable getStackTrace(),Throwable getSuppressed(),Throwable initCause(),Throwable printStackTrace(),Throwable setStackTrace(),Throwable toString().
  2. 從類 java.lang.Object 繼承的方法:
    克隆,equals(),敲定,Object,哈希碼,notify()和notifyAll()的區別,等待.

java.net.BindException 的層次結構

例子:

在下麵的示例中,我們創建了一個類Ex_BindException來演示BindException:

Java


// java.net.BindException in Java with Examples 
  
import java.io.*; 
import java.net.*; 
public class Ex_BindException { 
  
    // Creating a variable PORT1 with arbitrary port value 
    private final static int PORT1 = 8000; 
  
    public static void main(String[] args) 
        throws IOException 
    { 
  
        // Creating instance of the ServerSocket class 
        // and binding it to the arbitrary port 
        ServerSocket socket1 = new ServerSocket(PORT1); 
  
        // Creating another instance of the ServerSocket 
        // class and binding it to the same arbitrary 
        // port,thus it gives a BindException. 
        ServerSocket socket2 = new ServerSocket(PORT1); 
        socket1.close(); 
        socket2.close(); 
    } 
}

輸出:

在上麵的代碼中,我們首先使用指定的端口創建了ServerSocket類的實例。該實例已成功綁定。但是,當使用同一端口創建另一個實例時,會出現BindException,因為該端口已綁定到另一個套接字。在這裏,我們可以簡單地為第二個套接字使用另一個任意端口(未使用)來消除此異常。



相關用法


注:本文由純淨天空篩選整理自ashutoshrathi大神的英文原創作品 java.net.BindException in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。