21xrx.com
2025-04-22 02:31:47 Tuesday
文章检索 我的文章 写文章
Java实战:自定义异常的使用案例
2023-06-15 20:39:49 深夜i     16     0
Java 自定义异常 异常处理

Java是一种流行的面向对象编程语言,具有强大的异常处理机制。Java异常分为运行时异常和非运行时异常。除了Java内置的异常类型之外,我们还可以创建自己的异常类型,以便更好地控制和处理错误情况。在这篇文章中,我们将讨论Java中如何自定义异常,并演示如何在实际应用中使用这些异常。

自定义异常的一般语法类似于以下代码:

class MyException extends Exception {
  public MyException(String errorMessage) {
   super(errorMessage);
  }
}

上面的代码定义了一个名为MyException的新异常类,它扩展了Java内置的Exception类。该类具有一个构造函数,其参数为一个错误信息。可以像使用其他Java内置异常类一样使用自定义异常。

下面是一个简单的使用自定义异常的示例:

class AgeException extends Exception {
  public AgeException(String errorMessage) {
   super(errorMessage);
  }
}
class Person {
  private int age;
  public void setAge(int age) throws AgeException {
   if (age < 0 || age > 150) {
     throw new AgeException("Invalid age!");
   }
   else
     this.age = age;
   
  }
  public int getAge()
   return age;
 
}
class Main {
  public static void main(String[] args) {
   Person person = new Person();
   try {
     person.setAge(-1);
   }
   catch (AgeException e) {
     System.out.println(e.getMessage());
   }
   try {
     person.setAge(200);
   }
   catch (AgeException e) {
     System.out.println(e.getMessage());
   }
   System.out.println("Age: " + person.getAge());
  }
}

在上面的代码中,我们定义了一个名为AgeException的新异常类,并在Person类的setAge方法中使用了它。如果年龄参数小于0或大于150,则抛出AgeException。在Main类的main方法中,我们试图设置超出有效范围的年龄,使用try-catch块捕获并处理异常。最后,我们打印出Person对象的年龄。

从以上代码和解释中可以看出,自定义异常可以用于Java中的各种场景,比如校验输入参数、处理业务逻辑和错误提示等。在使用自定义异常时,请尽可能采用有意义的异常与错误信息以方便排查问题与查找错误。

  
  

评论区