// main.m
// oc使用@try處理異常
// created by goddog on 15/1/11.
1.oc的異常機制並不是作為常規的程式設計實踐,通常是作為一種程式除錯、捕捉機制。
2.通常情況下,如果@try塊被執行一次,則@try塊後只有乙個@catch塊被執行,絕不可能有多個@catch塊被執行,除非使用goto。
3.@try塊裡宣告的變數是**塊內的區域性變數,它只是在@try塊內有效,@catch塊中不能訪問該變數。
4.語法:@try @catch (異常1 ex) @catch (異常2 ex) ... @finally{}
5.異常幾個常見方法:(1)name: 返回異常詳細的名稱;
(2)reason: 返回引發該異常的原因;
(3)userinfo: 返回引發該異常的使用者附加資訊返回乙個nsdictionary物件
6.使用@finally**資源,在沒有使用arc機制的情況下,所有物件占有的記憶體必須顯示**。
7.不要在@finally塊中使用return和@throw等導致方法終止的語句。
//
// person.h
// oc使用@try處理異常
//// created by goddog on 15/1/11.
//#import //定義協議
@protocol person @optional
-(void) eat;
@end
//
// superman.h
// oc使用@try處理異常
//// created by goddog on 15/1/11.
//#import #import "person.h"
//定義介面實現協議
@inte***ce superman : nsobject@end
//
// superman.m
// oc使用@try處理異常
//// created by goddog on 15/1/11.
//#import "superman.h"
//實現部分
@implementation superman
@end
#import #import "superman.h"
int main(int argc, const char * argv)
@catch (n***ception *exception)
@finally
}nslog(@"程式執行完畢!");
return 0;
}
Swift異常處理的try?與try!
首先要明白丟擲異常後異常的運動 異常被丟擲後,中斷整個處理,異常不斷向外層 範圍 傳遞,直到遇到catch 塊群,會與catch 塊的條件進行匹配,匹配符合則進入此 塊處理。如果遇到沒有條件的catch 那麼直接在這個 裡處理。如果丟擲的異常一直到最外層仍沒有被catch 處理,那麼程式會卡住 後面...
異常處理 try與except處理異常語句
def convert numbers s try return int s except valueerror return nonetry except介紹 與其他語言相同,在python中,try except語句主要是用於處理程式正常執行過程中出現的一些異常情況,如語法錯 python作為指...
try塊和異常處理
try塊和異常處理 c 的異常處理中包括 1 throw表示式,錯誤檢測部分使用這種表示式來說明遇到了不可處理的錯誤。可以說,throw引發了異常條件。2 try塊,錯誤處理部分使用它來處理異常。try語句塊以try關鍵字開始,並以乙個或多個catch子句結束。在try塊中執行的 所丟擲的異常,通常...