Java中异常处理:如何捕获并正确处理异常?
在Java中,异常处理是一种机制,用于在程序运行过程中遇到错误时进行适当的响应。以下是如何捕获和正确处理异常的步骤:
- 抛出异常:
当代码无法正常执行,且有明确原因时,可以使用throw
关键字抛出一个异常对象。
// 示例:计算平方根但参数为负数
public int sqrt(int num) {
if (num < 0) { // 检查是否为负数
throw new IllegalArgumentException("Number cannot be negative for square root calculation.");
}
// 计算平方根的逻辑
double d = Math.sqrt(num);
return (int) d; // 返回结果并类型转换
}
// 调用示例:传入-1,会抛出异常并捕获
public static void main(String[] args) {
try {
int result = sqrt(-1);
System.out.println("Square root of -1: " + result);
} catch (IllegalArgumentException e) {
System.err.println("Error: " + e.getMessage());
}
}
捕获异常:
在可能会抛出异常的代码块外面,使用try-catch
语句来捕获异常。处理异常:
在catch
子句中,你可以根据实际需求对异常进行不同的处理。这包括打印错误信息、记录日志、忽略某些特定异常等。重抛异常(可选):
如果某些情况需要继续传播异常,可以在catch
子句中重新抛出异常。
通过以上步骤,你可以有效地在Java中捕获和处理异常。
还没有评论,来说两句吧...