JDK 中定义了大量的异常类,虽然这些异常类可以描述编程时出现的大部分异常情况,但是在程序开发中有时可能需要描述程序中特有的异常情况,例如在设计divide()方法中不允许被除数为负数。为了解决这个问题,在Java 中允许用户自定义异常,但自定义的异常类必须继承自Exception 或其子类。
【例5.34】自定义异常案例,如文件5-36 所示。
文件5-36 Example36.java
在实际开发中,如果没有特殊的要求,自定义的异常类只需继承Exception 类,在构造方法中使用super()语句调用Exception 的构造方法即可。
既然自定义了异常,那么该如何使用呢?这时就需要用到throw 关键字。throw 关键字用于在方法中声明抛出异常的实例对象,其语法格式如下:
接下来对divide()方法进行改写。在divide()方法中判断被除数是否为负数,如果为负数,就使用throw 关键字在方法中向调用者抛出自定义的DivideByMinusException 异常对象。
【例5.35】使用throw 关键字在方法中向调用者抛出自定义的DivideByMinusException 异常对象,如文件5-37 所示。(www.xing528.com)
文件5-37 Example37.java
执行结果
-2
为了解决上面的问题,可以对文件5-37 进行修改,在divide()方法上,使用throws 关键子声明抛出DivideByMinusException 异常,并在调用该方法时使用try…catch 语句对异常进行处理,
【例5.36】try…catch 语句对异常进行处理,如文件5-38 所示。
文件5-38 Example38.java
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。