我們可以透過擴充 Java 中的 RuntimeException 來建立自訂未檢查異常。
未檢查異常繼承自Error類別或RuntimeException類別。許多程式設計師認為我們無法在程式中處理這些異常,因為它們代表了程式執行時無法復原的錯誤類型。引發未經檢查的例外狀況時,通常是因為濫用程式碼、傳遞 null或其他不正確的參數所引起的。
語法public class MyCustomException extends RuntimeException { public MyCustomException(String message) { super(message); } }
自訂未檢查異常的實作幾乎與 Java 中的已檢查異常類似。唯一的區別是未經檢查的異常必須擴展 RuntimeException 而不是 Exception。
public class CustomUncheckedException extends RuntimeException { /* * Required when we want to add a custom message when throwing the exception * as throw new CustomUncheckedException(" Custom Unchecked Exception "); */ public CustomUncheckedException(String message) { // calling super invokes the constructors of all super classes // which helps to create the complete stacktrace. super(message); } /* * Required when we want to wrap the exception generated inside the catch block and rethrow it * as catch(ArrayIndexOutOfBoundsException e) { * throw new CustomUncheckedException(e); * } */ public CustomUncheckedException(Throwable cause) { // call appropriate parent constructor super(cause); } /* * Required when we want both the above * as catch(ArrayIndexOutOfBoundsException e) { * throw new CustomUncheckedException(e, "File not found"); * } */ public CustomUncheckedException(String message, Throwable throwable) { // call appropriate parent constructor super(message, throwable); } }
以上是如何在Java中建立自訂的未檢查異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!