Java中,异常定义了程序运行中可能遇到的轻微错误或异常情况。当发生异常时,程序员可以通过自己编写有针对性的代码来对它进行处理,以让程序继续运行下去。为了让写出来的代码比较强壮(robust),java语言要求除Error和RuntimeException之外的所有Exception都能够得到处理。
Java对异常(Exception)的处理方法分为两类,一类将异常的处理递交给当前方法的调用者去处理,称为throws a Exception,另一类则在方法中使用try/catch/finally语句自己处理异常。
1.Java 语言采用了C++风格的异常处理。
当程序中出错时,发生错误的那个方法中产生的异常没有相应的try/catch 段来处理时,它就会被掷给(throw)产生该异常的方法,如果该方法也未能处理它,异常就会被掷给该方法的调用者。这个过程一直进行, 直到异常被处理为止。当返回到main()方法时异常还未被处理,或者main()方法中也未对它进行处理,则该异常就会让程序异常终止。
2.使用try/catch/finally段来处理exception
1. 将可能会产生异常的程序包含在try段中。
2.
3. try {
4. // code that might throw a particular exception
5. }
6. 使用一个或多个catch段来处理try段中可能产生的异常。
7. try {
8. //code that might throw a particular exception
9. }
10.
11. catch (ExceptionType1 e1){ …
12. // 当try段中产生类型为ExceptionType1的异常时执行该段
13. // e1代表该异常类(ExceptionType1)对应的实例(对象),由系统自动生成
14.
15. }catch (ExceptionType2 e2) { …
16. // 当try段中产生类型为ExceptionType2的异常时执行该段
17. }
当发生的异常类型与某一catch段中的异常类型一致或相匹配时,该catch段中的代码就会被执行。在一个try段后可以有多个catch段,每个catch段可以对应一种异常的处理。
Java的异常处理机制带来的好处是将异常处理与正常的程序流分开,即将出错处理代码与正常的代码相隔离。这样产生的代码可读性好,易于管理。 |