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

作者:小甜瓜安东泥 时间:2022-05-11 01:25:24 

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 异常后还会继续执行吗

来源:https://www.cnblogs.com/YuyuanNo1/p/10317970.html

标签:java,try,catch,异常,继续执行
0
投稿

猜你喜欢

  • SpringBoot整合Security安全框架实现控制权限

    2022-10-03 14:37:15
  • Java由浅入深刨析继承

    2023-11-23 08:04:24
  • 深入理解MyBatis中的一级缓存与二级缓存

    2022-05-25 09:41:34
  • SpringMvc+Mybatis+Pagehelper分页详解

    2021-08-13 14:15:11
  • Flutter基于Dart Unwrapping Multiple Optional小技巧

    2023-07-05 11:44:19
  • Java中的引用类型和使用场景详细

    2023-11-29 03:58:19
  • 解析Java线程同步锁的选择方法

    2023-02-08 11:02:32
  • java实现幸运抽奖功能

    2023-11-27 07:24:16
  • java实现简单单链表

    2023-10-30 09:45:46
  • Java+Swing实现五子棋游戏的示例代码

    2022-06-27 11:56:22
  • Android 通过SQLite数据库实现数据存储管理

    2023-09-28 11:31:59
  • Android的消息机制

    2023-08-05 10:19:28
  • SpringBoot之Helloword 快速搭建一个web项目(图文)

    2023-08-23 17:36:21
  • Java中stream处理中map与flatMap的比较和使用案例

    2023-11-21 02:27:53
  • SpringBoot深入了解日志的使用

    2023-01-06 15:40:34
  • Java使用ExecutorService来停止线程服务

    2023-01-25 12:10:56
  • spring boot2结合mybatis增删改查的实现

    2023-07-07 01:17:31
  • java基于JDBC连接Oracle 11g Release2实例分析

    2022-06-06 02:36:36
  • IDEA搭建dubbo项目的过程及存在的问题

    2023-10-15 17:56:53
  • 三种Java自定义DNS解析器方法与实践

    2022-01-13 10:12:11
  • asp之家 软件编程 m.aspxhome.com