java try catch异常后还会不会继续执行

本文讲解"java try catch异常后还会不会继续执行",希望能够解决相关问题。

java try catch异常后还会继续执行吗

catch中如果你没有再抛出异常,那么catch之后的代码是可以继续执行的,但是try中,报错的那一行代码之后 一直到try结束为止的这一段代码 , 是不会再执行的。

//代码1
public static void test() throws Exception  {

    throw new Exception("参数越界"); 
    System.out.println("异常后"); //编译错误,「无法访问的语句」
}
//代码2
try{
    throw new Exception("参数越界"); 
}catch(Exception e) {
    e.printStackTrace();
}
System.out.println("异常后");//可以执行
//代码3
if(true) {
    throw new Exception("参数越界"); 
}
System.out.println("异常后"); //抛出异常,不会执行

小结下

若一段代码前有异常抛出,并且这个异常没有被捕获,这段代码将产生编译时错误「无法访问的语句」。如代码1;

若一段代码前有异常抛出,并且这个异常被try…catch所捕获,若此时catch语句中没有抛出新的异常,则这段代码能够被执行,否则,同第1条。如代码2;

若在一个条件语句中抛出异常,则程序能被编译,但后面的语句不会被执行。如代码3

try-catch块捕获异常三种情况

第一种情况

try块中所有语句正常执行完毕,不会发生异常,那么catch块中的所有语句都将会被忽略

java try catch异常后还会不会继续执行

第二种情况

try语句块在执行中遇到异常,那么在try块中其余剩下的代码都将被忽略,系统会自动生成相应的异常对象,如果这个异常对象与catch中声明的异常类型相匹配,则相应的catch块将会被执行

java try catch异常后还会不会继续执行

java try catch异常后还会不会继续执行

第三种情况

try语句块在执行中遇到异常,如果这个异常对象与catch中声明的异常类型不匹配,程序会中断。

java try catch异常后还会不会继续执行

java try catch异常后还会不会继续执行

关于 "java try catch异常后还会不会继续执行" 就介绍到此。希望多多支持编程宝库

本文讲解"Java中捕获线程异常的方式有哪些",希望能够解决相关问题。首先,我们要知道,在Java中,线程中的异常是不能抛出到调用该线程的外部方法中捕获的。为什么不能抛出到外部线程捕获?因为线程是独立执行 ...