黑马程序员技术交流社区

标题: 当程序运行出错的时候的异常处理 [打印本页]

作者: 夜神月No1    时间: 2015-11-23 13:16
标题: 当程序运行出错的时候的异常处理
/*
     异常  处理崩溃问题的一种机制。抛出一场以后被
系统捕获到异常信息,然后有对应的处理方案,处理
完毕以后系统继续运行。
     在写大型程序或要求较高的程序时经常使用。
*/

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool {
     //我们都是使用分数时 分母不能为 0 .
        NSException *exception = [[NSException alloc] initWithName:@"分母为零异常" reason:@"分母当前的值为0,造成分母没有意义" userInfo:nil];
    //分数
        double a = 1;//分子
        double b = 1;//分母
        double c = a/b;//C表示分数的值
    //动态输入一个B的值
        printf("请输入一个分母的值!\n");
        scanf("%lf",&b);
        @try {
            if(b == 0)
            {
                //分母为零 时抛出异常
                @throw exception;
            }
        }
        @catch (NSException *exception) {
         //捕获到分母为零的异常时  对应的处理
        // 当b==0,分数没有意义
            b = 1;
            NSLog(@"捕获到异常,并成功解决。");
            NSLog(@"写入日志 2014-11-27 14:18:47");
        }
        @finally {
        //不管有没有捕获的异常都要执行的内容
            NSLog(@"写入系统日志");
            NSLog(@"分数的值:%.2lf",c = a/b);
        }
    }
    return 0;
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2