16.1.3 异常的抛出
所谓异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。如何处理它呢?这就依靠异常的捕获。关于异常的捕获在下一节中会具体地讲述。言归正传,在上一小节中声明的内容,其实就是一个异常的抛出。
还有一种异常的抛出,就是一直将异常不断地抛出而不去处理。这通过关键字“throw”来处理。下面看一个有关异常再抛出的模型。
方法名throws Exception
{方法体throw Exception
方法体
}
异常的抛出这个知识点相信读者已经掌握了。
【实例16.3】下面继续讲述如何来处理被抛出的异常,来看一个有关异常抛出的实例。
01 import java.io.*;
02 public class file3
03 {
04 public static double quotient(int numerator, int denominator)throws
05 DivideByZeroException
06 {
07 if(denominator==0)
08 throw new DivideByZeroException();
09 else
10 return(double)numerator;
11 }
12 public static void main(String[]args)
13 {
14 try
15 {
16 double result=quotient(3,0);
17 }
18 catch(DivideByZeroException exception)
19 {
20 System.out.println(exception.toString());
21 }
22 }
23 public static class DivideByZeroException extends ArithmeticException
24 {
25 public DivideByZeroException()
26 {
27 super("不能被0除");
28 }
29 }
}
【代码说明】第4~11行是创建了一个方法quotient,其抛出错误信息DivideByZeroException。第23~29行是自定义的错误信息。第14~21行进行除法运算并俘获异常。
【运行效果】
file3$DivideByZeroException:不能被0除
上述程序演示了如何抛出异常。读者通过这个程序,学习在实际开发程序中,异常抛出的用法。在后面的综合实例时,会经常看到异常的用法。