美文网首页
NSError 详解

NSError 详解

作者: code_牧轩 | 来源:发表于2019-06-06 15:46 被阅读0次

前言

       我们在平时在函数回调参数都是使用字典和字符串,数组等。然而在系统中的api回调出来的参数基本上都是NSError类,反思我们平时研发中所有的参数是否可以使用NSError来作为回调参数。故而研究了NSError的使用以及基本原理。

一:NSError的结构

   1.error  domain  :作用域 ,错误范围,其类型为字符串

      错误发生的范围,也就是产生错误的根源,通常用一个特有的全局变量来定义,“处理URL的子系统”在从URL中解析或者取得数据时如果出错了,那么就会使用NSURLErrorDomain来表示错误范围。

2. error  code  :错误码,其类型为整数

     独有的错误代码,用以指明在某个范围内具体发生了何种错误。某个特定的范围内可能会发生一系列相关错误,这些错误情况通常采用enum来定义。例如当http请求出错时,可能会把http状态码设为错误码。

3.user info :用户信息,其类型为字典

     有关此错误的额外信息,其中或许包含一段“本地化的描述”,获取还含有导致该错误发生的另外一个错误,经由此种信息,可将相关错误串成一条“错误链”。

例如:

staticNSString*constkJDPayResultMsgNull =@"请检查您的网络状况";

- (NSError*)getErrorWithDomain:(NSString*)domain code:(NSInteger)code localizedDescription:(NSString*)localizedDescription

{

    return [NSError errorWithDomain:domain

                               code:code

                           userInfo:@{NSLocalizedDescriptionKey: (localizedDescription ?:kJDPayResultMsgNull)}];

}

            returnModel.returnError= [self   getErrorWithDomain:@"JDPayNetworkServerErrorDomain"code:[returnModel.errorCode intValue] localizedDescription:returnModel.returnMessage];

返回参数:(id result , NSError * error);

相关文章

  • NSError 详解

    前言 我们在平时在函数回调参数都是使用字典和字符串,数组等。然而在系统中的api回调出来的参数基本上都是NS...

  • iOS NSError详解

    一、NSError是系统错误信息类 两种初始化方法:其中,domain 不能为空 dict可以为空 错误域主要有四...

  • (转)NSError详解

    iOS中NSError的使用https://www.jianshu.com/p/eb9d3e6af621[http...

  • iOS NSError详解 NSError错误code对照表 自

    一、NSError是系统错误信息类 //两种初始化方法:其中,domain 不能为空 dict可以为空 (inst...

  • AFNetworking-NSError错误码,中文提示

    NSError 中文提示 使用AFNetworking 网络请求失败,返回NSError对象,通常去error.l...

  • NSError对照码

    前言整理一下在iOS开发中NSError的错误代码 NSError NSError是系统错误信息类 初始化方法两个...

  • AFNetworking解析错误信息

    如果请求失败则NSError不为空这时候可以解析NSError来获得失败信息

  • NSError

    NSErro :错误域,错误码,错误信息

  • NSError

    参考文档 Using and Creating Error Objects

  • NSError

    非作者原著 来自摘抄 参考文献 J_Knight_ NSError 三种信息 Error domain 错误范围 ...

网友评论

      本文标题:NSError 详解

      本文链接:https://www.haomeiwen.com/subject/flvyxctx.html