try-catch使用宏定义

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;

系统做了很多很有乐趣的宏定义,有时间大家可以研究研究。

你可能感兴趣的:(try-catch使用宏定义)