try-catch 机制详解

2025-04-22ASPCMS社区 - fjmyhfvclm

try-catch 机制详解

try-catch 是编程中用于异常处理的关键结构,能够捕获并处理程序运行时的错误,防止程序崩溃。以下是其核心概念与使用方法:

1. 基本语法

java

try {

// 可能抛出异常的代码

} catch (ExceptionType1 ) {

// 处理 ExceptionType1 异常

} catch (ExceptionType2 e2) {

// 处理 ExceptionType2 异常

} finally {

// 无论是否发生异常,都会执行的代码

}

try 块:放置可能引发异常的代码。

catch 块:捕获并处理特定类型的异常。

finally 块(可选):执行清理操作(如关闭资源),无论是否发生异常都会执行。

2. 工作流程

执行 try 块:

如果未发生异常,跳过所有 catch 块,直接执行 finally(如果存在)。

如果发生异常,立即停止 try 块中剩余代码的执行。

匹配 catch 块:

从上到下依次检查 catch 块,找到与异常类型匹配的第一个块。

执行匹配的 catch 块中的代码。

执行 finally 块:

无论是否发生异常,finally 块都会执行(除非程序提前退出,如 System.exit())。

展开全文

3. 示例代码

示例 1:捕获特定异常

java

try {

int result = 10 / 0; // 引发 ArithmeticException

} catch (ArithmeticException e) {

System.out.println("除零错误:" + e.getMessage());

} finally {

System.out.println("执行 finally 块");

}

输出:

除零错误:/ by zero

执行 finally 块

示例 2:捕获多个异常

java

try {

String str = null;

System.out.println(str.length()); // 引发 NullPointerException

} catch (NullPointerException e) {

System.out.println("空指针错误:" + e.getMessage());

} catch (Exception e) {

System.out.println("其他错误:" + e.getMessage());

} finally {

System.out.println("执行 finally 块");

}

输出:

空指针错误:Cannot invoke "String.length()" because "str" is null

执行 finall

全部评论