1.
異常的使用場合:
1)應用程式
2)庫(最好不要捕獲異常,除非某個異常表示的是**可以處理的情況),但要假定呼叫**可以處理他們。 2.
.net
執行時可以把整個程式放在另乙個更大的
try塊中,如果發生的異常**沒有處理,程式流就會退出程式,由
.net
執行時中的
catch
塊捕獲它。會導致程式執行中斷,通知使用者**沒有處理異常。所以應該由程式捕獲、處理一些異常。避免這種未處理異常的發生。
3.作用域問題:
try中的**(變數定義)屬於塊作用域,在其中定義的變數不能在
catchfinally
塊中引用。
4.throw
語句不必位於
try塊所在的方法中,也可以在其呼叫的其他子方法中。若在其中遇到
throw
,則中間方法呼叫中的所有區域性變數都會出作用域。
5. 異常處理
catch
的結構:
注意:先捕獲特定的異常(基類定義或自定義),再捕獲其他型別的未處理的異常(這樣可防止程式因異常發生而未捕獲突然終止)。
6.使用
try塊的巢狀的目的
1)修改異常的型別
2)在不同的地方處理不同的異常
7.定義自己的異常類
可見使用異常處理機制可以提高程式的健壯性和可維護性。
異常處理學習筆記
arm處理器的工作模式 使用者模式user 快速中斷模式fiq 處部中斷模式irq 特權模式supervisor 資料訪問中止模式abort 未定義指令中止模式undefined 系統模式system 1一上電,cpu處於 supervisor svc 管理模式 2發生中斷,cpu進入 riq 外部...
Windows異常處理學習
一 處理過程 ntdll中的kidispatchexception函式會按兩次處理機會進行分發,過程 如果程式正在被除錯,那麼將異常交給使用者偵錯程式處理,如果沒有則跳過這一步 如果沒有偵錯程式或者偵錯程式沒有處理,將控制權返回到kiuserexceptiondispatcher函式,由它呼叫rtl...
異常處理學習筆記
arm處理器的工作模式 使用者模式 user 快速中斷模式 fiq 處部中斷模式 irq 特權模式supervisor 資料訪問中止模式 abort 未定義指令中止模式 undefined 系統模式 system 1 一上電,cpu處於 supervisor svc 管理模式 2 發生中斷,cpu進...