java抛出异常后程序还会不会往下执行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java抛出异常后程序还会不会往下执行?相关的知识,希望对你有一定的参考价值。
若添加try catch语句则程序会处理异常,try内异常不再执行,处理后继续向下运行若没有try catch语句 程序会在异常处跳出来,不再运行下面部分 参考技术A 先捕获异常,处理异常,如没有处理程序不会往下执行。如果使用finally则无论处理了异常没有都会执行finally里面的语句。 参考技术B 不会往下进行 但有finally块 它是无论无何都是执行的 参考技术C 不会。 参考技术D try
catch()
finally
如果try里面发生异常,会进行catch里面的程序。要是两个都异常则执行finally里面的代码噢本回答被提问者采纳
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抛出异常后程序还会不会往下执行?的主要内容,如果未能解决你的问题,请参考以下文章