所谓的外层方法调用内容方法也就是下面这个意思:spa
public void methodA (){
try{
// 调用methodB
methodB();
} catch(ExceptionType et){
// 相应处理措施
}
}
public void methodB throws ExceptionType{
if (condition is true) {
// 相应处理措施
} else {
throw new ExceptionType(argument);
}
} it
这个例子中, methodA ()就是外层方法, methodB(); 就是内层方法。io
方法B的头部中声明了该方法会抛出一个类型为ExceptionType的异常,在方法体中使用throw子句抛出了一个异常,那么该异常被谁捕捉到呢,答案是方法A。由于异常抛出后,JVM会顺着该方法的调用栈一层一层的往上找。由于方法A中有一个catch(ExceptionType et),因此被抛出的异常会被捕捉到并处理。
方法