Java学习之异常机制
程序员文章站
2022-06-23 10:49:28
...
Java学习之异常机制
1.异常概念的引入
1.1场景分析
小王每天正常上班路上耗时30分钟,但是总会出现异常的情况,堵车、车祸等
1.2异常概念的提出
使用if-else处理异常情况,会导致代码臃肿、程序员花很大精力去堵漏洞,并且很难考虑所有漏洞,所以提出了异常机制
2.什么是异常
异常是指在程序运行过程中所发生的所有不正常的事件,会终止你正在运行的程序
2.1 什么是异常处理机制
Java编程语言使用异常处理机制为程序提供错误处理的能力
2.2 Java中如何进行异常处理
Java的异常处理是通过5个关键字来实现的:try、catch、finally、throw、throws
1.捕获异常
try:执行可能产生异常的代码
catch:捕获异常
finally:无论是否发生异常,代码总能执行
2.声明异常:
throws:声明方法中要抛出的各种异常
3.抛出异常:
throw:手动抛出异常
3.异常处理机制
3.1 使用try-catch块捕获异常
第一种情况:不产生异常,try块执行完,catch不执行
public void method(){
try{
//代码块
} catch (异常类型 ex){
//对异常进行处理的代码块
}
}
第二种情况:出现异常,try块中产生异常代码段2后,代码段3不执行,如果匹配到异常类型,执行代码块4,使用printStackTrace()的堆栈跟踪功能显示程序运行到当前类的执行流程
public void method(){
try{
//代码段1
//产生异常的代码段2
//代码段3
} catch (异常类型 ex){
//对异常进行处理的代码块4
}
//代码段5
}
第三种情况:异常类不匹配,中断程序运行,不执行代码块3、代码段4、代码段5,可以匹配异常的父类
public void method(){
try{
//代码段1
//产生异常的代码段2
//代码段3
} catch (异常类型 ex){
//对异常进行处理的代码块4
}
//代码段5
}
System.err.print();
e.printStackTrace();
e.getMessage();
3.2 使用try-catch-finally处理异常
finally:是否发生异常都执行,除非退出程序System.exit(1)
存在return的try-catch-finally块:
return退出当前方法,退出当前函数
碰到return,执行finally块
try{
//代码段1
//产生异常的代码段2
} catch (异常类型 ex){
//对异常进行处理的代码块3
return;
} finally{
//代码块
}
4.常见的异常类型
5.异常的继承结构
Error表示仅靠程序本身无法恢复的严重错误,无法通过代码进行处理
上一篇: Java学习笔记之异常
下一篇: Java学习之走进异常