Objective-C - 异常处理(Exception)

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 可以用来抛出异常,如果抛出了异常但是没有去处理程序将崩溃。

你可能感兴趣的:(exception,语言,interface)