异常的基本:
先看一个例子,
当程序编译并不会报错,但是执行到第六行时由于数组下标越界会报错,程序直接跳出不会再执行下面的语句。
这时就需要用try-catch语句了
1、 try 程序块若是有异常发生时,程序的运行便中断,并抛出“异常类所产生的对象”。
2、 抛出的对象如果属于 catch()括号内欲捕获的异常类,则 catch 会捕捉此异常,然后进到 catch 的块里继续运行。
3、 无论 try 程序块是否有捕捉到异常,或者捕捉到的异常是否与 catch()括号里的异常相同,最后一定会运行 finally 块里的程序代码。finally 的程序代码块运行结束后,程序再回到 try-catch-finally 块之后继续执行。
由上述的过程可知,异常捕捉的过程中做了两个判断:第一个是 try 程序块是否有异常产生,第二个是产生的异常是否和 catch()括号内欲捕捉的异常相同。值得一提的是,finally 块是可以省略的。如果省略了 finally 块不写,则在 catch()块运行结束后,程序跳到 try-cath 块之后继续执行。
此串代码输出结果为:
数组超出绑定范围!
异常:java.lang.ArrayIndexOutOfBoundsException: 10
main()方法结束!
所以try-catch语句的执行过程为: