Objective-C - 异常处理(Exception)

来源:互联网 发布:win10仿mac主题 编辑:程序博客网 时间:2024/05/16 14:25

Objective-C中处理异常需要用到NSException类,它是所有异常的基类。你可以直接使用NSException类来捕获异常,也可以继承一个新的类。

第一步

你需要先定义一个自己的异常类,在.h文件中加入如下代码:

@interface MyException : NSException@end

接着在.m文件中加入:


@implementation MyException@end

除了类的名字以外你什么都不用写,不需要添加成员变量和方法。


第二步

用上面定义的类创建一个异常对象:

NSException *e = [MyException exceptionWithName:@"MyException" //给异常取一个名字                                                         reason:@"the b==0" //异常被触发的原因                                                       userInfo:nil];//这个写nil就可以exceptionWithName是NSException提供的方法,用来创建一个异常对象。


第三步

Objective-C的异常处理流程和大多数语言的差不多,使用@try @catch @finally来捕获并处理异常。

@try {            //判断是否有BUG 并抛出异常            if(b==0){//除数为0                @throw e;            }        }        @catch (MyException *e) {            //在这里处理异常        }        @finally {            //异常发生或不发生 这里都会执行        }@throw 可以用来抛出异常,如果抛出了异常但是没有去处理程序将崩溃。

原创粉丝点击