2011-04-16 54 views

回答

5

如果您要使用預定義的例外,您可能會拋出IllegalStateException,因爲對象已處於listening狀態。

但是,如果你這樣做了,應該有一種方法讓客戶端找出是否已經調用了listen。例如。一種isListening()方法。

您也可能創建自己的異常,可能從IOException擴展,因爲這是一個IO問題。據推測,嘗試多次收聽失敗,因爲網絡資源已被用於第一次收聽。 (類似於套接字綁定)

2

在這種情況下,我會拋出一個IllegalStateException。它通常用於指示用戶試圖在對象的當前狀態下做出不合法的事情。

3

由於這是一個邏輯錯誤,只有當您的庫的客戶端使用不當時,您拋出的異常應該是一個未經檢查的異常(例如java.lang.RuntimeException或其派生物)與檢查的異常相對。

java.lang.IllegalStateException被用於該目的:

「是一種方法,在非法或不適當的時間調用信號」但是,這也可能是你自己的自定義異常作出異常層次。

相關問題