iOS之《Effective Objective-C 2.0》读书笔记(21)
来源:互联网 发布:搜狐汽车 大数据 编辑:程序博客网 时间:2024/06/05 08:07
第21条:理解Objective-C错误模型
1.较为严重的情况:@throw 自定义异常
- 抽象基类,只能先继承它写一个子类,然后通过子类调用方法,但是编译器不会识别它是不是抽象基类,所以需要在子类必须覆写的超类方法中抛异常,防止有人创建基类实例:
-(void)mustOverrideMethod{ NSString *reason = [NSString stringWithFormat:@"%@ must be overridden",NSStringFromSelector(_cmd)]; @throw [NSException exceptionWithName:NSInvalidArgumentException reason:reason userInfo:nil];}
2.不严重的情况:NSError
(1)委托方法
- 例:NSURLConnection的代理
@protocol NSURLConnectionDelegate <NSObject>- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
(2)经由“输出参数”返回给调用者
-(BOOL)doSomething:(NSError **)error{ if(error != nil){ //错误范围-domain,错误码-code,用户信息-userInfo *error = [NSError errorWithDomain:domain code:code userInfo:userInfo]; NSLog(@"%@",*error); return NO; }else{ return YES; }}
阅读全文
0 0
- iOS之《Effective Objective-C 2.0》读书笔记(21)
- <iOS读书笔记>之Effective Objective-C 2.0
- iOS之《Effective Objective-C 2.0》读书笔记(1)
- iOS之《Effective Objective-C 2.0》读书笔记(2)
- iOS之《Effective Objective-C 2.0》读书笔记(3)
- iOS之《Effective Objective-C 2.0》读书笔记(4)
- iOS之《Effective Objective-C 2.0》读书笔记(5)
- iOS之《Effective Objective-C 2.0》读书笔记(6)
- iOS之《Effective Objective-C 2.0》读书笔记(7)
- iOS之《Effective Objective-C 2.0》读书笔记(8)
- iOS之《Effective Objective-C 2.0》读书笔记(9)
- iOS之《Effective Objective-C 2.0》读书笔记(10)
- iOS之《Effective Objective-C 2.0》读书笔记(11)
- iOS之《Effective Objective-C 2.0》读书笔记(12)
- iOS之《Effective Objective-C 2.0》读书笔记(13)
- iOS之《Effective Objective-C 2.0》读书笔记(14)
- iOS之《Effective Objective-C 2.0》读书笔记(16)
- iOS之《Effective Objective-C 2.0》读书笔记(17)
- NIO篇
- mysql报Segmentation fault错误
- error C2039: 'Release' : is not a member of 'IFile'
- 织梦dede被挂马怎么办?挂马解决方案
- @Subselect映射,子查询,视图.
- iOS之《Effective Objective-C 2.0》读书笔记(21)
- 算法导论第二章算法练习
- 数据库常见优化
- apk打包遇到的问题
- spring整合hibernate
- 索引使用场景
- P1854 花店橱窗布置
- 文字展示多余的用三个点显示
- explan语句说明