美文网首页iOS
【Objective-C】简单使用断言和异常

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

作者: 刘大帅 | 来源:发表于2015-12-18 17:11 被阅读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"];  

相关文章

网友评论

    本文标题:【Objective-C】简单使用断言和异常

    本文链接:https://www.haomeiwen.com/subject/vkbphttx.html