异常分为编译时异常(checkerI)和运行时异常(runtime)
捕获异常:try-catch语句
格式:
try{
编写可能会出现异常的代码
}catch(异常类型 e){
处理异常的代码
}
try {
// 可能抛出异常的代码
int result = 10 / 0;
} catch (ArithmeticException e) {
// 处理算术异常
System.out.println("捕获到算术异常: " + e.getMessage());
}
finally块:无论try块中的代码是否抛出异常,finally块中的代码都会被执行。
FileInputStream fis = null;
try {
fis = new FileInputStream("file.txt");
// 文件读取操作
} catch (FileNotFoundException e) {
System.out.println("文件未找到: " + e.getMessage());
} finally {
if (fis!= null) {
try {
fis.close();
} catch (IOException e) {
System.out.println("关闭文件流时出错: " + e.getMessage());
}
}
}
抛出异常:throws
public void readFile() throws FileNotFoundException {
FileInputStream fis = new FileInputStream("file.txt");
// 文件读取操作
}