【问题标题】:Using exceptions in Objective-C在 Objective-C 中使用异常
【发布时间】:2012-03-15 18:48:46
【问题描述】:

我是 Objective-C 世界的新手。在研究一些 iOS/Mac 应用程序时,我注意到 try -catch 很少使用,如果使用的话。 例如在 Java 中,它几乎一直在使用。 为什么它在 Objective-C 中不常见?

【问题讨论】:

标签: objective-c exception-handling


【解决方案1】:

Objective-C 中的异常通常用于真正的异常情况并且几乎总是程序员错误。要传达可恢复的错误,请使用 NSError** 模式。

【讨论】:

    【解决方案2】:

    有很多 SDK 方法采用 NSError** 参数并返回 BOOL。为了指示错误,它们返回 false 并通过错误参数反馈错误以传达信息。

    异常被使用,但通常用于运行时级别出现故障的情况 - 例如某些对象无法处理选择器。虽然看起来可能与我刚刚写的相反,但异常往往表示设计错误,而不是运行时错误。

    NSError** 惯用语是您所需要的一切,例如失败的 URL 连接、数据转换等,其中存在错误条件,但程序确实不应该被彻底杀死。

    开始阅读:Error Handling Programming Guide

    【讨论】:

      猜你喜欢
      • 2011-06-06
      • 1970-01-01
      • 2016-05-09
      • 2010-09-24
      • 2011-04-10
      • 2010-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多