在Objective-C编程中,错误处理由Foundation框架中提供的NSError类提供处理。
与仅使用错误代码或错误字符串相比,NSError对象封装了更丰富且更具可扩展性的错误信息。 NSError对象的核心属性是错误域(由字符串表示),特定于域的错误代码和包含应用程序特定信息的用户信息字典。
NSError
Objective-C程序使用NSError对象来传达有关用户需要了解的运行时错误的信息。 在大多数情况下,程序会在对话框或工作表中显示此错误信息。 但它也可能会解释信息并要求用户尝试从错误中恢复或尝试自行更正错误
NSError对象包括 -
域 - 错误域可以是预定义的NSError域之一,也可以是描述自定义域和域的任意字符串,不能为nil。
代码 - 错误的错误代码。
用户信息 - 错误和userInfo的字典可能为nil。
以下示例代码显示如何创建自定义错误 -
NSString *domain = @"com.yiibai.MyApplication.ErrorDomain";
NSString *desc = NSLocalizedString(@"Unable to complete the process", @"");
NSDictionary *userInfo = @{ NSLocalizedDescriptionKey : desc };
NSError *error = [NSError errorWithDomain:domain code:-101 userInfo:userInfo];
以下是作为对指针的引用传递的上述错误示例的完整代码 -
#import
@interface SampleClass:NSObject
-(NSString *) getEmployeeNameForID:(int) id withError:(NSError **)errorPtr;
@end

本文介绍了在Objective-C中如何使用NSError进行错误处理,强调了 NSError 对象的域、错误代码和用户信息字典的作用,并通过示例展示了如何创建和使用自定义错误。在示例代码中,当无法完成特定过程时,会返回一个自定义错误对象。
最低0.47元/天 解锁文章
639

被折叠的 条评论
为什么被折叠?



