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
这是系统的宏定义,所以我们在写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);
这个输出结果是:a = 3;
网友评论