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.getStack
超级会员免费看
订阅专栏 解锁全文

41

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



