Java自定义异常与异常处理实战

需积分: 47 13 下载量 97 浏览量 更新于2024-09-12 收藏 3KB TXT 举报
该资源主要介绍了如何在Java中自定义异常类,并展示了如何在实际代码中使用这个自定义异常。 在Java编程中,异常处理是程序健壮性的重要组成部分。Java提供了一套完善的异常处理机制,允许程序员创建自定义异常类来处理特定的错误情况。在给定的代码中,我们看到一个名为`MyException`的自定义异常类,它是直接继承自`Exception`类的。`Exception`是Java中所有检查异常(checked exception)的基类,通常用于表示程序运行时可能出现但可以通过代码预防或处理的错误。 `MyException`类定义如下: ```java public class MyException extends Exception { private static final long serialVersionUID = 7288118975361987086L; public MyException(String str) { super(str); } public MyException() { this(""); } } ``` 这里,`MyException`有两个构造器:一个接受字符串参数,另一个不带参数。它们都调用了父类`Exception`的构造器,将错误信息传递给父类。`serialVersionUID`是一个序列化版本标识,用于确保序列化和反序列化时类的兼容性。 另一个类`JavaException`包含两个属性`name`和`age`,以及相应的getter方法。这个类中有一个`setAge`方法,它检查传入的年龄是否在0到150之间,如果不在这个范围内,则抛出自定义的`MyException`。`setName`方法则简单地设置名称,但检查输入的名称是否为空。 `JavaException`类还重写了`toString()`方法,返回一个由名字和年龄组成的字符串。此外,还有一个`olderThen()`方法,计算并返回当前对象与传入的`JavaException`对象之间的年龄差。 在`main`方法中,我们看到一个`try-catch`块用来捕获可能抛出的`MyException`。尝试创建一个`JavaException`对象`je1`,并调用其`setAge`方法,如果传入的年龄不在有效范围内,就会抛出`MyException`。 通过这种方式,我们可以看到如何在Java中定义一个自定义异常类,以及如何在实际的业务逻辑中使用它来处理错误。自定义异常使得错误信息更加具体,有助于提高代码的可读性和可维护性。在编写程序时,适当地利用自定义异常可以更好地控制程序的流程,使错误处理更具有针对性。