本文档讨论如何提升和处理异常:中断程序执行正常流程的特殊情况。iOS和OS X上提供了Objective-C指令和Foundation API异常。
重要提示: 您应该保留使用异常编程或意外的运行时错误,如超出范围的集合访问,试图改变不可变的对象,发送无效的消息,并失去与窗口服务器的连接。在创建应用程序时,而不是在运行时,您通常会处理这些类型的异常。
如果您拥有使用异常处理错误情况的现有代码体(如第三方库),则可以在Cocoa应用程序中按原样使用代码。但是您应该确保任何预期的运行时异常不会从这些子系统中转义,并最终以调用者的代码形式出现。例如,解析库可能会在内部使用异常来指示问题,并使解析状态可以深入递归; 但是,您应该注意在库的顶层捕捉这些异常,并将其转换为适当的返回代码或状态。