(二十)[OC高效系列]理解Objective-C的错误类型

1.抛出Objective-C中的异常

  • 只有发生了可使整个应用程序崩溃的严重错误时,才应使用异常
    • 因为默认情况下不是异常安全的,异常抛出后,本应在作用域末尾的对象将不会自动释放
    • 在 (十六) [OC高效系列]提供"全能初始化方法" 一文中提到的防止使用者直接调用父类的init方法的情况下可以使用异常抛出

2.使用nil/0

  • 很多情况下,当错误的时候我们更愿意返回一个nil或者0,来替代本应创建成功的对象。比如init方法初始化失败的情况

3.使用NSError对象

  • 通过代理,比如
//NSURLConnectionDelegate
 - (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
  • 通过输出参数的形式
//NSFileManager
 - (BOOL)moveItemAtURL:(NSURL *)srcURL toURL:(NSURL *)dstURL error:(NSError **)error 

你可能感兴趣的:((二十)[OC高效系列]理解Objective-C的错误类型)