Java 异常处理深入探究
1. 栈展开与从异常对象获取信息
当在特定作用域中抛出异常但未被捕获时,方法调用栈会进行“展开”,并尝试在下一个外部的 try 块中捕获该异常,这个过程被称为栈展开。栈展开意味着未捕获异常的方法终止,该方法中的所有局部变量超出作用域,并且控制返回到最初调用该方法的语句。
以下是一个栈展开的示例代码:
// Fig. 11.6: UsingExceptions.java
// Stack unwinding and obtaining data from an exception object.
public class UsingExceptions {
public static void main(String[] args) {
try {
method1();
} catch (Exception exception) { // catch exception thrown in method1
System.err.printf("%s%n%n", exception.getMessage());
exception.printStackTrace();
// obtain the stack-trace information
StackTraceElement[] traceElements = exception.getStackTrace();
System.ou
超级会员免费看
订阅专栏 解锁全文
2260

被折叠的 条评论
为什么被折叠?



