10.4 自定义异常类
应用程序中除了可能出现系统定义的异常外,有时还可能出现系统没有考虑的异常。此时需要在应用程序中自定义异常类。一般情况下,自定义的异常类都是一些应用程序可以处理的异常。所以,自定义的异常类一般是Exception类的子类。
自定义异常类的一般形式为:
自定义异常类将继承Exception类的所有方法,除此之外,还可以在类体中定义其他处理方法。
【例10-3】自定义异常类示例。
【程序说明】
OverFlowException是一个自定义的异常类,其中定义了构造方法,其功能是输出信息:此处数据有溢出,溢出类是OverFlowException。
在square()方法中计算x的平方值,并存放于变量aim中,接着判断aim的值是否在0~1.0E8之间,否则将抛出OverFlowException异常。在main()方法中,调用square()方法时,由于x的值为100000,所以必然抛出OverFlowException异常。抛出的异常被catch块捕获到外,首先执行OverFlowException异常类的构造方法,输出“there is a data overflow ,overflow class is OverFlowException”,接着执行catch块的方法,输出异常类名“OverFlowException”。
程序输出如下: