異常處理流程

2021-08-15 11:23:44 字數 1010 閱讀 5117

異常類結構

來觀察兩個異常類的繼承關係

ø  可以發現所有的異常型別最高的繼承類是throwable,並且通過doc文件可以發現在throwable下有兩個子類:

ø  error:指的是jvm錯誤,這個時候的程式並沒有執行,無法處理;

ø  exception:指的是程式執行中產生的異常,使用者可以使用異常處理格式處理。

異常的處理完整流程

當程式在執行的過程之中出現了異常後,那麼會由jvm自動根據異常的型別例項化乙個與之型別匹配的異常類物件(此處使用者不用去關心如何例項化物件,由jvm負責處理);

產生了異常物件之後會判斷當前的語句上是否存在有異常處理,如果現在沒有異常處理,那麼就交給jvm進行預設的異常處理,處理的方式:輸出異常資訊,而後結束程式的呼叫;

如果此時存在有異常的捕獲操作,那麼會由try語句來捕獲產生的異常類例項化物件,而後與try語句後的每乙個catch進行比較,如果現在有符合的捕獲型別,則使用當前catch的語句來進行異常的處理,如果不匹配,則向下繼續匹配其它的catch;

不管最後異常處理是否能夠匹配,那麼都要向後執行,如果此時程式中存在有finally語句,那麼就先執行finally中的**。但是執行完finally語句後需要根據之前的catch匹配結果來決定如何執行,如果之前已經成功的捕獲了異常,那麼就繼續執行finally之後的**,如果之前沒有成功的捕獲異常,那麼就將此異常交給jvm進行預設處理(輸出異常資訊,而後結束程式執行)

使用exception處理異常

public class testdemo  catch (exception e)  finally  

system.out.println("3、除法計算結束。");

}}

異常處理流程

程式先執行 try 中的 如果 try 中的 出現異常,就會結束 try 中的 看和 catch 中的異常型別是否匹配.如果找到匹配的異常型別,就會執行 catch 中的 如果沒有找到匹配的異常型別,就會將異常向上傳遞到上層呼叫者.無論是否找到匹配的異常型別,finally 中的 都會被執行到 在該...

異常處理流程

程式先執行 try 中的 如果 try 中的 出現異常,就會結束 try 中的 看和 catch 中的異常型別是否匹配.如果找到匹配的異常型別,就會執行 catch 中的 如果沒有找到匹配的異常型別,就會將異常向上傳遞到上層呼叫者.無論是否找到匹配的異常型別,fifinally 中的 都會被執行到 ...

ARM異常處理流程

在學習與開發arm處理器的過程中,乙個不能繞開的話題就是異常處理流程。它在arm的體系架構中,佔據著不可動搖的重要地位。此處就以coterx a系列的arm處理器簡單分析一下異常中斷處理流程。說異常處理流程之前,我們先說一下arm處理器的工作模式和異常源。在coterx a系列之前的arm處理器,一...