使用Objective-C中的异常

时间:2012-03-15 18:48:47

标签: objective-c exception-handling

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:2)

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

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

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

开始阅读:Error Handling Programming Guide