A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
     异常  处理崩溃问题的一种机制。抛出一场以后被
系统捕获到异常信息,然后有对应的处理方案,处理
完毕以后系统继续运行。
     在写大型程序或要求较高的程序时经常使用。
*/

#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;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马