JAVA全系列 教程
3762个小节阅读:7090.2k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
try:
try
语句指定了一段代码,该段代码就是异常捕获并处理的范围。在执行过程中,当任意一条语句产生异常时,就会跳过该条语句中后面的代码。代码中可能会产生并抛出一种或几种类型的异常对象,它后面的catch
语句要分别对这些异常做相应的处理。
一个try语句必须带有至少一个catch
语句块或一个finally
语句块。
注意事项
- 当异常处理的代码执行结束以后,不会回到
try
语句去执行尚未执行的代码。
catch:
每个try
语句块可以伴随一个或多个catch
语句,用于处理可能产生的不同类型的异常对象。
catch
捕获异常时的捕获顺序:
如果异常类之间有继承关系,先捕获子类异常再捕获父类异常。
finally:
finally
中关闭已打开的资源,比如:关闭文件流、释放数据库连接等。
try-catch-finally
语句块的执行过程详细分析:
try
语句块。try
语句没有出现异常则执行完后跳至finally
语句块执行;try
语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch
语句块执行处理。catch
语句块可以有多个,分别捕获不同类型的异常。catch
语句块执行完后程序会继续执行finally
语句块。finally
语句是可选的,如果有的话,则不管是否发生异常,finally
语句都会被执行。【示例】异常处理的典型代码(捕获异常)
xxxxxxxxxx
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Test8 {
public static void main(String[ ] args) {
FileReader reader = null;
try {
reader = new FileReader("d:/a.txt");
char c = (char) reader.read();
char c2 = (char) reader.read();
System.out.println("" + c + c2);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
常用开发环境中,自动增加try-catch代码块的快捷键:
- 将需要处理异常的代码选中。
- IDEA中,使用:ctrl+alt+t
- eclipse中,使用:ctrl+shift+z
实时效果反馈
1. 如下关于try-catch-finally
结构的说法,错误的是:
A try
语句指定了一段代码,该段代码就是异常捕获并处理的范围。
B 若碰到异常,当catch
执行结束后,会回到try
语句去执行尚未执行的代码
C 每个try
语句块可以伴随一个或多个catch
语句
D finally
块:不管是否发生了异常,都必须要执行。
答案
1=>B