在Java中,要在catch块中重新抛出异常,可以使用throw
关键字,并提供要抛出的异常对象
public class Example {
public static void main(String[] args) {
try {
// 这里可能会抛出一个异常
int result = riskyOperation();
} catch (Exception e) {
System.err.println("发生异常: " + e.getMessage());
// 重新抛出异常
throw e;
}
}
private static int riskyOperation() throws Exception {
// 这里只是一个示例,实际上可能会执行一些有风险的操作
if (Math.random() < 0.5) {
return 42;
} else {
throw new Exception("随机异常");
}
}
}
在这个示例中,我们首先尝试调用riskyOperation()
方法。如果该方法抛出异常,我们将在catch块中捕获它。然后,我们打印一条错误消息,并使用throw
关键字重新抛出相同的异常。这将导致调用者处理这个异常,或者继续向上传递,直到找到合适的异常处理程序。