美文网首页
崩溃异常学习一(简单了解异常类)

崩溃异常学习一(简单了解异常类)

作者: coderhlt | 来源:发表于2017-11-24 21:15 被阅读41次

    开发中我们经常会遇到崩溃,控制台输出的日志信息就是NSException产生的,一旦程序抛出异常,程序就会崩溃,控制台就会有这些崩溃日志。
    一、制造崩溃

        //01、初始化一个异常对象
        NSException *exception=[NSException exceptionWithName:@"这是异常的名字" reason:@"这是异常的原因" userInfo:nil];
        
       //02、抛出异常
        @throw exception;
        
    
      NSString *reason=@"喝多了";
      [NSException raise:@"我的错" format:@"%@耍起了醉拳",reason];
    
    //异常的名称
        NSString *exceptionName = @"自定义异常";
        //异常的原因
        NSString *exceptionReason = @"我长得太帅了,所以程序崩溃了";
        //异常的信息
        NSDictionary *exceptionUserInfo = nil;
    
        NSException *exception = [NSException exceptionWithName:exceptionName reason:exceptionReason userInfo:exceptionUserInfo];
    
        NSString *aboutMe = @"太帅了";
    
        if ([aboutMe isEqualToString:@"太帅了"]) {
            //抛异常
            @throw exception;
        }
    

    参考链接:http://www.jianshu.com/p/05aad21e319e

    二、捕获异常
    NSString *nilStr = nil;
    NSMutableArray *arrayM = [NSMutableArray array];

    @try {
        //如果@try中的代码会导致程序崩溃,就会来到@catch
    
        //将一个nil插入到可变数组中,这行代码肯定有问题
        [arrayM addObject:nilStr];
    }
    @catch (NSException *exception) {
        //如果@try中的代码有问题(导致崩溃),就会来到@catch
    
        //在这里你可以进行相应的处理操作
    
        //如果你要抛出异常(让程序崩溃),就写上 @throw exception
    
    }
    @finally {
    
        //@finally中的代码是一定会执行的
    
        //你可以在这里进行一些相应的操作
    }
    

    相关文章

      网友评论

          本文标题:崩溃异常学习一(简单了解异常类)

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