iOS

【Objective-C】简单使用断言和异常

2015-12-18  本文已影响936人  刘大帅

学习文章

Objective-C - 异常处理(Exception)

简单用法

    
    // 断言
    // NSAssert括号里是可变变量的宏,也可以像下面那样用指定参数数量的断言,如NSAssert1,NSAssert2
    NSAssert(1 > 0, @"HaHa");
    
    NSAssert(1 > 0, @"%@",@"LiuDaShuai");
    NSAssert1(1 > 0, @"%@", @"LiuDaShuai");
    
    NSAssert(1 > 0, @"%@%@", @"LiuDaShuai",@"Test");
    NSAssert2(1 > 0, @"%@%@", @"LiuDaShuai", @"Test");
    
    // 利用try --> catch --> finallly 追踪异常
    NSException* ex = [[NSException alloc]initWithName:@"MyException"
                                                reason:@"b==0"
                                              userInfo:nil];

    @try
    {
        int b = 0;
        switch (b)
        {
            case 0:
                @throw(ex);//b=0,则抛出异常;
                break;
            default:
                break;
        }
    }
    @catch (NSException *exception)//捕获抛出的异常
    {
        NSLog(@"b==0 Exception!");
    }
    @finally
    {
        NSLog(@"finally!");
    }
    
    // 直接抛出异常方法一
    NSException * exception = [[NSException alloc]initWithName:@"A exception" reason:@"b == 0" userInfo:nil];
    
    @throw exception;
    
    // 直接抛出异常方法二
    [NSException raise:@"A exception" format:@"b == 0"];  
上一篇下一篇

猜你喜欢

热点阅读