教程中心 / Java教程 / 捕获异常

捕获异常

12分钟 异常处理

try-catch语法

使用try-catch语句可以捕获异常并进行处理,防止程序崩溃:

 try {
    // 可能发生异常的代码
} catch (异常类型 变量名) {
    // 处理异常
} 

多重catch

一个try块可以匹配多个catch子句,异常类型范围从小到大:

 try {
    // 可能发生多种异常的代码
} catch (小异常 e) {
    // 处理小异常
} catch (大异常 e) {
    // 处理大异常
} catch (Exception e) {
    // 处理所有其他异常(放在最后)
} 

finally块

finally块无论是否发生异常都会执行,常用于资源清理:

 try {
    // 可能发生异常的代码
} catch (Exception e) {
    // 处理异常
} finally {
    // 无论是否异常都会执行
    // 常用于资源清理:关闭文件、关闭连接等
} 

try-with-resources语句

Java 7引入的自动资源管理语法,资源会自动关闭:

 try (资源类型 变量 = new 资源()) {
    // 使用资源
} catch (Exception e) {
    // 处理异常
}
// 无需手动关闭,资源会自动关闭 

异常链

在捕获异常时可以抛出新的异常,保留原始异常信息:

 try {
    // 可能发生异常的代码
} catch (Exception e) {
    throw new BusinessException("业务异常", e);  // 保留原始异常
} 

小结

  • 使用try-catch捕获异常,阻止程序崩溃
  • finally块无论是否异常都会执行
  • 多重catch按异常类型从小到大顺序捕获
  • try-with-resources自动关闭资源(Java 7+)
  • 使用异常链保留原始异常信息
☕ Java 在线代码编辑器
📝 运行结果
☕ Java 在线代码编辑器
📝 运行结果