JAVA中內層方法拋出異常 外層方法捕捉並處理異常

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

相關文章
相關標籤/搜索