OC使用 try處理異常

2021-06-28 03:58:55 字數 1393 閱讀 2061

//  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塊中執行的 所丟擲的異常,通常...