所謂的外層方法調用內容方法也就是下面這個意思: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),因此被拋出的異常會被捕捉到並處理。
方法