Objective-C - 异常处理(Exception)
2011-11-02 11:29
211 查看
Objective-C中处理异常需要用到NSException类,它是所有异常的基类。你可以直接使用NSException类来捕获异常,也可以继承一个新的类。
第一步
你需要先定义一个自己的异常类,在.h文件中加入如下代码:
接着在.m文件中加入:
除了类的名字以外你什么都不用写,不需要添加成员变量和方法。
第二步
用上面定义的类创建一个异常对象:
第三步
Objective-C的异常处理流程和大多数语言的差不多,使用@try @catch @finally来捕获并处理异常。
第一步
你需要先定义一个自己的异常类,在.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 可以用来抛出异常,如果抛出了异常但是没有去处理程序将崩溃。
相关文章推荐
- Objective-C - 异常处理(Exception)
- Objective-C - 异常处理(NSException)
- PL/SQL6——异常处理(Exception)
- 异常处理UncaughtExceptionHandler
- android.os.NetworkOnMainThreadException 异常处理
- 化零为整WCF(4) - 异常处理(Exception、FaultException、FaultException<T>、IErrorHandler)
- Objective - C中提供了线程同步和异常处理
- java.net.UnknownHostException 异常处理
- 异常处理与MiniDump详解(3) SEH(Structured Exception Handling)
- android.os.NetworkOnMainThreadException 异常处理
- java.io.FileNotFoundException: savepath\huachuan\photo (拒绝访问。)异常处理
- android.os.NetworkOnMainThreadException 异常处理
- java.net.UnknownHostException 异常处理
- PL/SQL --> 异常处理(Exception)
- Objective-C语法之异常处理
- 化零为整WCF(4) - 异常处理(Exception、FaultException、FaultException、IErrorHandler)
- Python Exception 异常处理
- android.os.NetworkOnMainThreadException 异常处理
- java.net.UnknownHostException 异常处理(个人案例)
- android.os.NetworkOnMainThreadException 异常处理