前言
什麼是異常?
1:異常時程式執行時的錯誤,違反了系統約束或者應用程式約束,或出現正在操作時未預料的情況
2:例如:程式嘗試除以0或者試圖寫乙個唯讀檔案,程式就會丟擲乙個異常
3:如果系統沒有處理這個異常,系統就會掛起
4: try 語句來指明為避免出現異常而被保護的**段,並在發生異常時提供**處理異常
5:try 有三個部分組成 try保護**段 catch處理異常**段 finally在所有情況下都要執行的**,無論異常有沒有發生
6: catch 句子有三種形式[一般型別,特定catch子句,帶物件的]
7: finally 如果try內沒有發生異常,那麼在try塊的結尾,控制流跳過catch直接執行finally,如果 try內部發生了異常,程式先執行catch再執行finally,即使try塊中有return語句,或者在catch中丟擲異常,finally也總是會執行
**示例
異常的產生1:
public static void catchtest() 異常: system.dividebyzeroexception hresult = 0x80020012 message = 嘗試除以零。
異常的產生2:
public static string test() var res = test(); res.trim(); 異常: system.nullreferenceexception:「未將物件引用設定到物件的例項。」
try ..catch ..finally
try catch (exception ex) finally
異常處理例子:
int x = 10; try catch (exception ex) finally 輸出: 程式產生了異常:嘗試除以零。 在所有情況下都要執行的**
帶引數的catch句子
int x = 10; try catch (exception ex) 輸出: 程式產生了異常:嘗試除以零。 程式產生了異常:在 ddup.chtch_20.trytest() 位置 h:\visualstudio\ddup\chtch_20.cs:行號 33 程式產生了異常:ddup
finally始終會被執行
try else } catch (exception e) finally 輸出: this is finally
自定義異常:
public static void v4() } catch (exception e) finally } 輸出: 自定義異常! this is finally
寫在最後在程式中異常處理顯得尤為重要,異常處理加上規範的日誌記錄,會對定位程式中的bug有很大幫助,每個碼農都應該養成良好異常處理習慣和日誌記錄的習慣; Swift異常處理的try?與try!
首先要明白丟擲異常後異常的運動 異常被丟擲後,中斷整個處理,異常不斷向外層 範圍 傳遞,直到遇到catch 塊群,會與catch 塊的條件進行匹配,匹配符合則進入此 塊處理。如果遇到沒有條件的catch 那麼直接在這個 裡處理。如果丟擲的異常一直到最外層仍沒有被catch 處理,那麼程式會卡住 後面...
OC使用 try處理異常
main.m oc使用 try處理異常 created by goddog on 15 1 11.1.oc的異常機制並不是作為常規的程式設計實踐,通常是作為一種程式除錯 捕捉機制。2.通常情況下,如果 try塊被執行一次,則 try塊後只有乙個 catch塊被執行,絕不可能有多個 catch塊被執行...
try塊和異常處理
try塊和異常處理 c 的異常處理中包括 1 throw表示式,錯誤檢測部分使用這種表示式來說明遇到了不可處理的錯誤。可以說,throw引發了異常條件。2 try塊,錯誤處理部分使用它來處理異常。try語句塊以try關鍵字開始,並以乙個或多個catch子句結束。在try塊中執行的 所丟擲的異常,通常...