try-catch的使用
#define NS_DURING @try {
#define NS_HANDLER } @catch (NSException *localException) {
#define NS_ENDHANDLER }
#define NS_VALUERETURN(v,t) return (v)
#define NS_VOIDRETURN return
這是系統(tǒng)的宏定義,所以我們在寫try-catch的時候,可以使用這個宏定義,顯得比較高級。
int a = 1;
NS_DURING
NSString *c = nil;
NSDictionary *b = @{@"a": c};
a = 0;
NS_HANDLER
a = 3;
NS_ENDHANDLER
NSLog(@"%d", a);
這個輸出結(jié)果是:a = 3;