iOS中try-catch-finally捕獲異常使用

這也是自己在用到的時候蒐集別人的資料總結的,希望能幫到大家!可能在iOS中不太經常用到,但是瞭解一下還是沒壞處
@try{
代碼塊1(可能出現異常的語句)
//執行的代碼,其中可能有異常。一旦發現異常,則立即跳到catch執行。否則不會執行catch裏面的內容
 } @catch(Exception e){

代碼塊2(發生異常時進行處理)
//除非try裏面執行代碼發生了異常,否則這裏的代碼不會執行
}@finally{

 代碼塊3(始終要進行處理的語句)
//不管什麼情況都會執行,包括try catch 裏面用了return ,可以理解爲只要執行了try或者catch,就一定會執行 finally 

catch是抓取代碼塊1中的異常
代碼塊2是出異常後的處理
代碼塊3是不管出不出異常都會執行,如果代1或代2中有return,代3會在return後執行
總結:
1、不管有木有出現異常,finally塊中代碼都會執行;
2、當try和catch中有return時,finally仍然會執行;
3、finally是在return後面的表達式運算後執行的(此時並沒有返回運算後的值,而是先把要返回的值保存起來,管finally中的代碼怎麼樣,返回的值都不會改變,任然是之前保存的值),所以函數返回值是在finally執行前確定的;
4、finally中最好不要包含return,否則程序會提前退出,返回值不是try或catch中保存的返回值。
這個異常捕獲機制就是哪裏用到就寫到那裏
發佈了54 篇原創文章 · 獲贊 16 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章