java try catch 异常后还会继续执行吗
Posted Firm陈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java try catch 异常后还会继续执行吗相关的知识,希望对你有一定的参考价值。
java try catch 异常后还会继续执行吗
catch 中如果你没有再抛出异常 , 那么catch之后的代码是可以继续执行的
1、但是try中 , 报错的那一行代码之后 一直到try结束为止的这一段代码 , 是不会再执行的。
//代码1
public static void test() throws Exception
try
throw new Exception("参数越界");
System.out.println("异常后");//不可以执行
catch (Exception e)
e.printStackTrace();
2、若一段代码有异常抛出,并且这个异常没有被捕获,这段代码将产生编译时错误「无法访问的语句」。如代码2
//代码2
public static void test() throws Exception
throw new Exception("参数越界");
System.out.println("异常后"); //编译错误,「无法访问的语句」
3、若一段代码有异常抛出,并且这个异常被try…catch所捕获,若此时catch语句中没有抛出新的异常,则这段代码能够被执行,否则,同第2条。如代码3
//代码3
try
throw new Exception("参数越界");
catch (Exception e)
e.printStackTrace();
System.out.println("异常后");//可以执行
4、若在一个条件语句中抛出异常,则程序能被编译,但后面的语句不会被执行。如代码4
//代码4
if(true)
throw new Exception("参数越界");
System.out.println("异常后"); //抛出异常,不会执行
异常要么在当前方法中被catch,要么抛给当前方法的上层方法进行处理。
以上是关于java try catch 异常后还会继续执行吗的主要内容,如果未能解决你的问题,请参考以下文章
try-catch-finally 中哪个部分可以省略?try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?