Java自定义异常:扩展Exception类

需积分: 10 8 下载量 106 浏览量 更新于2024-08-18 收藏 231KB PPT 举报
本文主要介绍了Java中的自定义异常和异常处理机制。 在Java编程中,异常(Exception)是指程序运行时出现的不正常情况,它可能导致程序无法继续正常执行。Java提供了一种面向对象的方式来处理异常,使得程序员可以优雅地处理程序运行时可能出现的问题,而不会破坏程序的流程。 异常的处理包括两个主要步骤:抛出(throw)和捕获(catch)。当方法在执行过程中遇到异常情况,它会创建一个异常对象并抛出,然后运行时系统会寻找合适的代码来捕获并处理这个异常。处理异常有两种方式: 1. 捕获异常(catch):方法内部可以包含try-catch块,用于捕获并处理特定类型的异常。在try块中编写可能抛出异常的代码,catch块则包含处理这些异常的逻辑。 2. 声明异常(Specify):如果方法不捕获异常,而是让调用者来处理,那么需要在方法签名中使用throws关键字声明可能会抛出的异常。这样,调用该方法的代码必须处理这些异常,或者继续声明到上一层。 异常在Java中分为两大类: 1. 校验异常(Checked Exceptions):这类异常在编译阶段就会被检查,因此,如果方法可能抛出校验异常,必须在方法签名中声明,或者在方法内部捕获。例如,IOException、SQLException等。 2. 运行时异常(Runtime Exceptions):这类异常在程序运行时才会出现,不需要强制声明,但最好在代码中进行处理。例如,NullPointerException、ArithmeticException等。 自定义异常是在已有的异常类基础上创建新的异常类,通常继承自Exception或其子类。在提供的例子中,`NumberException`是一个自定义异常,它扩展了Exception类。这个类有两个构造函数,一个无参构造器用于初始化通用错误信息,另一个带参数的构造器可以指定特定的错误数字。`toString()`方法返回错误信息,方便在抛出异常时打印。 自定义异常可以更好地符合特定业务需求,提供更精确的错误信息。在遇到程序中特有的错误状况时,创建自定义异常类可以提高代码的可读性和可维护性。例如,如果一个方法只接受特定范围的数字,可以抛出自定义的`NumberException`来指示数字不在允许范围内。