当前位置:网站首页>异常和异常处理机制
异常和异常处理机制
2022-08-11 00:27:00 【弱冠初心】
1.什么是异常
程序运行过程中发生的不正常事件,导致程序终止运行

2.Java中如何进行异常处理
Java的异常处理是通过5个关键字来实现的:try、catch、 finally、throw、throws
3.使用try-catch块捕获异常,分为三种情况
第一种情况 :正常第一种情况 :
正常
public void method(){
try {
// 代码段(此处不会产生异常)
} catch (异常类型 ex) {
// 对异常进行处理的代码段
}
// 代码段
}
第二种情况:出现异常
\
public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
// 代码段 3
} catch (异常类型 ex) {
// 对异常进行处理的代码段4
}
// 代码段5
}
第三种情况:异常类型不匹配

public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
// 代码段 3
} catch (异常类型 ex) {
// 对异常进行处理的代码段4
}
// 代码段5
}
4.printStackTrace()的堆栈跟踪功能显示出程序运行到当前类的执行流程

异常对象常用的方法
方法 | 说明 |
void printStackTrace() | 输出异常的堆栈信息 |
String getMessage() | 返回异常信息描述字符串, 是printStackTrace()输出信息的一部分 |
常见的异常类型
异常类型 | 说明 |
Exception | 异常层次结构的父类 |
ArithmeticException | 算术错误情形,如以零作除数 |
ArrayIndexOutOfBoundsException | 数组下标越界 |
NullPointerException | 尝试访问 null 对象成员 |
ClassNotFoundException | 不能加载所需的类 |
IllegalArgumentException | 方法接收到非法参数 |
ClassCastException | 对象强制类型转换出错 |
NumberFormatException | 数字格式转换异常,如把"abc"转换成数字 |
在try-catch块后加入finally块

public void method(){
try {
// 代码段 1
// 产生异常的代码段 2
} catch (异常类型 ex) {
// 对异常进行处理的代码段3
return;
}finally{
// 代码段 4
}
}
5.异常体系结构
6.自定义异常
使用自定义异常的步骤
边栏推荐
- 力扣------用栈操作构建数组
- 时间戳转换为日期格式、获取当前时间戳
- 力扣------值相等的最小索引
- “蔚来杯“2022牛客暑期多校训练营2 DGHJKL题解
- 如何做专利挖掘,关键是寻找专利点,其实并不太难
- Which foreign language journals and conferences can be submitted for software engineering/system software/programming language?
- YOLOv5的Tricks | 【Trick11】在线模型训练可视化工具wandb(Weights & Biases)
- 【经典排序】快速排序
- HW-常见攻击方式和漏洞原理(2)
- I caught a 10-year-old Ali test developer, and after talking about it, I made a lot of money...
猜你喜欢

工程师如何对待开源

12. Handling JSON

百战RHCE(第四十八战:运维工程师必会技-Ansible学习3-构建Ansible清单)

SQL injection base - order by injection, limit, wide byte

Server Tips

Only lazy and hungry. You still don't understand the singleton pattern!

构建检测,无规矩不成方圆

leetcode 前K个高频单词
![[Excel knowledge and skills] Convert text numbers to numeric format](/img/7e/16a068025ec2639b343436c7f5b245.png)
[Excel knowledge and skills] Convert text numbers to numeric format

② 关系数据库标准语言SQL 数据定义(创建、修改基本表)、数据更新(增删改)
随机推荐
rhel7.0解决yum无法使用(system is not registered to Red Hat Subscription Management)
云原生-FRP内网穿透(详解)使用云服务器将内网集群服务暴露至公网(二)
UOJ#749-[UNR #6]稳健型选手【贪心,分治,主席树】
nodejs项目连接mysql数据库
Mysql.慢Sql
“蔚来杯“2022牛客暑期多校训练营2 DGHJKL题解
Mysql数据库安装配置详细教程
如何破坏Excel文件,让其显示文件已损坏方法
[Excel知识技能] 将“假“日期转为“真“日期格式
How to do patent mining, the key is to find patent points, in fact, it is not too difficult
C# JObject解析JSON数据
I caught a 10-year-old Ali test developer, and after talking about it, I made a lot of money...
微信小程序自定义navigationBar
[Excel knowledge and skills] Convert numeric format numbers to text format
YOLOv5的Tricks | 【Trick13】YOLOv5的detect.py脚本的解析与简化
91.(cesium之家)cesium火箭发射模拟
J9数字论:DAO治理更像一种生态过程:治理原生于网络,不断演变
微信小程序通过URL Scheme动态的渲染数据
SQL injection base - order by injection, limit, wide byte
NOR FLASH闪存芯片ID应用之软件保护场景