如何在Java中创建自定义未经检查的异常?

我们可以通过扩展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) {

      //调用super会调用所有超级类的构造函数

      //这有助于创建完整的堆栈跟踪。

      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) {

      //调用适当的父构造函数

      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) {

      //调用适当的父构造函数

      super(message, throwable);

   }

}

以上是 如何在Java中创建自定义未经检查的异常? 的全部内容, 来源链接: utcz.com/z/334836.html

回到顶部