try-catch-finally 规则( 异常处理语句的语法规则 )
2024-09-02 21:27:49
1) 必须在 try 之后添加 catch 或 finally 块。try 块后可同时接 catch 和 finally 块,但至少有一个块。
2) 必须遵循块顺序:若代码同时使用 catch 和 finally 块,则必须将 catch 块放在 try 块之后。
3) catch 块与相应的异常类的类型相关。
4) 一个 try 块可能有多个 catch 块。若如此,则执行第一个匹配块。即Java虚拟机会把实际抛出的异常对象依次和各个catch代码块声明的异常类型匹配,如果异常对象为某个异常类型或 其子类的实例,就执行这个catch代码块,不会再执行其他的 catch代码块
5) 可嵌套 try-catch-finally 结构。
6) 在 try-catch-finally 结构中,可重新抛出异常。
7) 除了下列情况,总将执行 finally 做为结束: JVM 过早终止(调用 System.exit(int));在 finally 块中抛出一个未处理的异常;计算机断电、失火、或遭遇病毒攻击
由此可以看出,catch只会匹配一个,因为只要匹配了一个,虚拟机就会使整个语句退出
最新文章
- (转)pymysql 连接mysql数据库---不支持中文解决
- [No000032]程序员的年龄天花板
- 数据结构——二叉查找树、AVL树
- 《Thinking in Java》十七章_容器深入研究_练习14(Page486)
- 支持Android iOS,firefox(其它未测)的图片上传客户端预览、缩放、裁切。
- Scrum团队成立3.0
- Courses
- SQLSERER给表加自增列
- Entity Framework只entity与DbContext的分离
- SPOJ 1739 Yet Another Equation(Pell方程)
- ReactNative-----环境搭建(android)
- iis与 asp.net管道(asp.net应用程序什么周期)
- Java学习之路----计算圆形的面积和周长
- Effective Java 第三版——30. 优先使用泛型方法
- OsharpNS轻量级.net core快速开发框架简明入门教程-基于Osharp实现自己的业务功能
- bootstrap学习: 基本组件以及布局;
- mysql用户授权、数据库权限管理、sql语法详解
- ubuntu使用遇到的问题
- Ubuntu 下搭建 Android 开发环境(图文)
- Cartographer源码阅读(2):Node和MapBuilder对象