java抛出异常后,后续语句如何执行?哪些继续实施,哪些不再实施,是本章要探讨的问题。为了方便广大朋友解决问题,我先抛出结论:
1。其中有一个try-catch语句块,catch语句块内有throw。那么try语句块中引起异常(错误报告)的那行代码后面的代码将不会被执行,而catch语句块中的后面的代码将不会被执行(除非finally是遭遇)。 (参见情况 1 和情况 4)
2。有一个try-catch语句块,try语句块内有throw。那么try语句块中引起异常(报错)的那行代码后面的代码将不会被执行,但catch语句块之后的代码会继续执行。 (参见情况2)
3。如果有try-catch语句块但没有throw语句,那么try语句块中引起异常(报错)的那行代码后面的代码将不会被执行,但catch语句块后面的代码会被执行继续执行。 (见情况三)
4。没有 try-catch 语句块。只有一个 throw 语句块会抛出异常。那么抛出之后的代码就不会被执行。 (参见情况5)
我们来研究一下Java抛出异常的各种情况。
场景1
公共 类 异常测试 {
公共 静态 空 main(String[] args) {
字符串 a = null ;
int c = 0, d = 0;
b = a.length(); // null没有length()方法,并且报告了null指针异常错误
=2;
{
{
system.out.println(“值c 的值为:“ + c);
row new RuntimeException(e);
System.out.println System.out.println( "d 的值为:" + d) ;
}
}
结果如下: