OC高效率52之理解OC错误模型
2019独角兽企业重金招聘Python工程师标准>>>
#import <UIKit/UIKit.h>
extern NSString *const EOCErrorDomain;typedef NS_ENUM(NSUInteger,EOCError){EOCErrorUnknown = -1,EOCErrorGeneralFault = 100,EOCErrorBadInput = 300,
};
@interface ViewController : UIViewController@end#import "ViewController.h"
/*** 1.ARC在默认情况下不是“异常安全的”* 2.OC语言只在极其罕见的情况下抛出异常,异常抛出之后,无需考虑恢复问题,而且应用程序此时也应该退出。* 3.在出现“非致命错误”时,令方法返回nil/0,或者用NSError以表明其中有错误发生。* 4.错误范围应该定义成NSString的全局常量,而错误码则定义成枚举为佳*/
NSString *const EOCErrorDomain = @"EOCErrorDomain";
@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.NSError *error = nil;
// error domain(错误范围,其类型为字符串)
// error code(错误码,其类型为整数)
// error info (用户信息,其类型为字典)id object;BOOL ret = [object dosomething:&error];if (error){//There was an error}
}
-(BOOL)dosomething:(NSError**)error
{return YES;
}
- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated.
}@end
转载于:https://my.oschina.net/u/2319073/blog/620828
OC高效率52之理解OC错误模型相关推荐
- OC高效率52之理解消息转发机制
2019独角兽企业重金招聘Python工程师标准>>> #pragma mark 演示动态方法解析 #import <Foundation/Foundation.h>@i ...
- OC高效率52之提供“全能初始化”方法
2019独角兽企业重金招聘Python工程师标准>>> #import <Foundation/Foundation.h>@interface EOCRectangle ...
- OC高效率52之“方法调配技术”调试“黑盒方法”
2019独角兽企业重金招聘Python工程师标准>>> #import "ViewController.h" #import <objc/runtime.h ...
- OC WKWebView的JS与OC交互、Cookie管理
完全抄录:iOS中UIWebView与WKWebView.JavaScript与OC交互.Cookie管理看我就够(中) ####WKWebView 是Apple于iOS 8.0推出的WebKit中的 ...
- OC 知识:彻底理解 iOS 内存管理(MRC、ARC)
1. 什么是内存管理 程序在运行的过程中通常通过以下行为,来增加程序的的内存占用 创建一个OC对象 定义一个变量 调用一个函数或者方法 而一个移动设备的内存是有限的,每个软件所能占用的内存也是有限的 ...
- OC get set 方法理解 get set方法不能同时重写
最近在了解Xcode 对 @property 所做的事情 我们都知道用@property 声明的属性 Xcode 会帮我们生成get set 方法,有时我们根据实际需要会重写get 或者set 方法. ...
- OC中的^怎么理解?
在OC中^操作符是用来声明一个block变量,^也是标示着一段block文字的开始.block的实体包含在{}中. 比如: NSURL *url = [NSURL URLWithString:aler ...
- OC中block的理解
### Block学习 ##Block内存模型 #Class指针 isa: 1.在Objective-C中,任何类的定义都是对象.类和类的实例(对象)没有任何本质上的区别.任何对象都有isa指针. 2 ...
- ios传值给js_IOS中plus.ios.implements实现OC方法后,在OC中回调传值后JS端无法正确获取...
代码很简单, NJS端: var MasSso = plus.ios.importClass("MasSso"); var masSso = new MasSso(); var h ...
最新文章
- SQL系列ROLLUP关键字
- Socket 通信原理(Android客户端和服务器以TCPUDP方式互通)
- 使用PHP CURL 模拟HTTP实现在线请求工具-toolfk程序员工具网
- OpenCV F变换理论F-transform theory
- mysql5.7 的 user表的密码字段从 password 变成了 authentication_string
- 足不出户带你体验专业实验室,技术实现不在话下
- 使用std::function 把类成员函数指针转换为普通函数指针
- .NET4进行COM互操作--导出数据到Excel
- bzoj 3631: [JLOI2014]松鼠的新家(LCA+树上差分)
- Web前端学习-第一课JavaScript篇
- 图片压缩工具(网页优化)
- win7原版系统安装及基本设置
- ML-Agents命令及配置大全
- python中sys.stdout和sys.stderr
- 18.移动点餐端搭建----点餐系统移动端
- 新来的妹纸 rm -rf 把公司整个数据库删没了,整个项目组慌了~
- c语言函数变量的作用域与生存期
- linux实现动态域名解析DDNS
- 根据出生日期计算当前年龄
- 用C语言写一个单词本(兼具检索单词和向TXT中写入陌生单词的功能)
热门文章
- android中获取mac地址8.0,关于Android8.0以下手机获取蓝牙Mac地址的问题和扫描周围的手机蓝牙问题 下篇...
- shiro密码正确也会匹配错误_Shiro学习之——Shiro与Web集成
- 复制不用说yes的方法
- 统计gitlab代码行脚本_一点也不复杂, GitLab Webhook 自动部署代码
- python mkl freebsd_freebsd下之简单安装python
- combobox 取消记忆功能_南京长江大桥桥头堡空间改造设计,记忆与纪念的共鸣
- 【分享】老调重弹,既懂技术又懂管理的人才发展中的实际问题
- python 如何调用远程接口
- MyBatis中针对if-test的参数为指定值的xml写法
- 使用Dockerfile定制镜像-定制Tomcat为例