在Objective-C编程中,错误处理由Foundation
框架中提供的NSError
类提供处理。
与仅使用错误代码或错误字符串相比,NSError
对象封装了更丰富且更具可扩展性的错误信息。 NSError
对象的核心属性是错误域(由字符串表示),特定于域的错误代码和包含应用程序特定信息的用户信息字典。
NSError
Objective-C程序使用NSError
对象来传达有关用户需要了解的运行时错误的信息。 在大多数情况下,程序会在对话框或工作表中显示此错误信息。 但它也可能会解释信息并要求用户尝试从错误中恢复或尝试自行更正错误
NSError
对象包括 -
- 域 - 错误域可以是预定义的
NSError
域之一,也可以是描述自定义域和域的任意字符串,不能为nil
。 - 代码 - 错误的错误代码。
- 用户信息 - 错误和
userInfo
的字典可能为nil
。
以下示例代码显示如何创建自定义错误 -
编译并执行上述代码时,会产生以下结果 -
1 2018-11-15 13:53:52.027 main[136833] Name1: Employee Test Name 2 2018-11-15 13:53:52.029 main[136833] Error finding Name2: Unable to complete the process