MST

星途 面试题库

面试题:Objective-C 中 NSError 常用属性及创建方式

请简述 Objective-C 中 NSError 有哪些常用属性,并说明如何创建一个 NSError 对象。
19.0万 热度难度
编程语言Objective-C

知识考点

AI 面试

面试题答案

一键面试

1. NSError 常用属性

  • domain:错误域,通常是一个标识错误来源的字符串,比如 NSURLErrorDomain 用于 URL 相关错误,NSPOSIXErrorDomain 用于 POSIX 系统错误等。它有助于确定错误的大致范围或类型。
  • code:错误码,是一个整数,在特定的错误域内,每个错误码代表一种具体的错误情况。例如在 NSURLErrorDomain 中,NSURLErrorBadURL 对应的错误码表示 URL 格式错误。
  • userInfo:这是一个字典,用于提供关于错误的额外信息。可以包含诸如错误的详细描述、建议的解决方法等。例如,可能会包含 NSLocalizedDescriptionKey 对应的本地化错误描述字符串。

2. 创建 NSError 对象

在 Objective-C 中,可以使用 NSError 的类方法 errorWithDomain:code:userInfo: 来创建一个 NSError 对象。示例代码如下:

NSString *errorDomain = @"com.example.MyErrorDomain";
NSInteger errorCode = 1001;
NSDictionary *userInfo = @{NSLocalizedDescriptionKey : @"This is a custom error description."};
NSError *error = [NSError errorWithDomain:errorDomain code:errorCode userInfo:userInfo];

上述代码中,通过指定错误域 errorDomain、错误码 errorCode 以及用户信息字典 userInfo 创建了一个 NSError 对象。userInfo 字典中的 NSLocalizedDescriptionKey 是系统预定义的一个键,用于存储本地化的错误描述信息。