23
NSDictionary *userInfo = [NSDictionary dictionaryWithObject:@
"is a error test"
forKey:NSLocalizedDescriptionKey];
24
NSError *aError = [NSError errorWithDomain:CustomErrorDomain code:XDefultFailed
userInfo:userInfo];
其中,自定义错误域对象
CustomErrorDomain,通常用域名反写,也可以是任何其他字符
串
code 错误标识, 系统的 code 一般都大于零,自定 code 可以用枚举(最好用负数, 但不是必
须的)
userInfo 自定义错误信息,NSLocalizedDescriptionKey 是 NSError 头文件中预定义的键,标
识错误的本地化描述
可以通过
NSError 的 localizedDescription 方法获得对应的值信息
主调用函数一般传入
NSError 指针的指针,来获取错误信息,例如
25
- (Bool)doSomething:(NSDictionary *)parameter1 error:(NSError **)aError
26
{
27
//TODO: do something
28
*aError = [NSError errorWithDomain:CustomErrorDomain code:XDefultFailed
userInfo:userInfo];
29
return
Yes;
30
}
三、
NSError 头文件解析
1.NSError 对象中,主要有三个私有变量
错误域(
NSInteger): _domain
错误标示(
NSString *):_code
错误详细信息(
NSDictionary *):_userInfo
通常用
_domain 和_code 一起标识一个错误信息