唱吧开源库KTVHTTPCache学习(一)

  最近用了唱吧的开源库KTVHTTPCache,觉得非常的棒,对作者也是十分的崇拜,决定对这个开源库好好的学习下。今天重点说一下NSError生成的问题,我们在写开源库的时候,常常需要抛出一些错误,自己本人也写了好多个开源库了,但是对于开源库异常抛出,这一块感觉自己做的并不是特别的好,看了唱吧的源码,收获很大。具体源码如下:

@implementation KTVHCError

+ (NSError *)errorForResponseUnavailable:(NSURL *)URL
                                 request:(NSURLRequest *)request
                                response:(NSURLResponse *)response
{
    NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
    if (URL) {
        [userInfo setObject:URL forKey:KTVHCErrorUserInfoKeyURL];
    }
    if (request) {
        [userInfo setObject:request forKey:KTVHCErrorUserInfoKeyRequest];
    }
    if (response) {
        [userInfo setObject:response forKey:KTVHCErrorUserInfoKeyResponse];
    }
    NSError *error = [NSError errorWithDomain:@"KTVHTTPCache error"
                                         code:KTVHCErrorCodeResponseUnavailable
                                     userInfo:userInfo];
    return error;
}

做到了对某一类型的错误进行标准化的封装,在大型app中,非常的适合,不用再一个一个的初始化error,单独的定义里面的内容了,对于错误码,错误的内容。能够做到快速定位。传递error时不再盲目去操作了。
更多优质文章,可以微信扫码关注:
这里写图片描述

发布了231 篇原创文章 · 获赞 110 · 访问量 60万+

猜你喜欢

转载自blog.csdn.net/HHL110120/article/details/95052055