[英]Which Java Runtime Exception to Use When Missing an InitialContext Definition
我正在編程一個Java Servlet應用程序,該應用程序需要提供某些環境變量和JNDI定義。 這些在server.xml
文件中定義。 無法使用默認值。 因此,程序需要引發運行時(未經檢查)異常。 但是哪一個呢? 如果java.lang.RuntimeException
的子類都不適合,我想我們將需要創建一個新類型。
您可以使用已經定義的異常,但是我通常只是實現自己的異常,因為拋出異常后,我總是可以快速識別出異常。 (通過擁有項目的類路徑,它可以告訴您更多信息。)
public class MissingInitialContextException extends RuntimeException {
public MissingInitialContextException() {
}
public MissingInitialContextException(String message) {
super(message);
}
public MissingInitialContextException(String message, Throwable cause) {
super(message, cause);
}
public MissingInitialContextException(Throwable cause) {
super(cause);
}
public MissingInitialContextException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
super(message, cause, enableSuppression, writableStackTrace);
}
}
您可以在大多數IDE中自動生成類似的類。 (IDEA,在創建類之后,請按ALT + ENTER並從RuntimeException類覆蓋方法)
為什么要使用自定義異常:
顯示java.lang.NullPointerException
當應用程序的配置尚未完成時,變量可能為null,因此似乎適合使用NullPointerException。 此異常非常普通,但可以在構造函數中使用特定的詳細消息進行自定義。
從API:
應用程序應拋出此類的實例,以指示對null對象的其他非法使用。
- 訪問或修改空對象的字段時。
throw new NullPointerException("environment variable XX is missing");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.