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