KSError 1.5.4

KSError 1.5.4

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布上次发布2014年12月

无人认领 维护。



KSError 1.5.4

  • 作者:
  • Mike Abdullah

功能

KSError提供两大功能领域

错误处理

-[NSError ks_isErrorOfDomain:code:]

轻松查询错误是否与指定域名和代码匹配,或者封装一个内部错误。这对于检查底层错误而不必亲自挖掘堆栈很有用。也略比手动检查域名和代码冗余。

错误创建

当创建自己的API时,构建自定义错误对象传递给调用者通常非常有帮助。但是,直接使用NSError来做这件事非常繁琐。

KSErrorNSError的子类,提供了一堆方便的方法来创建特定类型的错误。

KSMutableError几乎就是它名字的含义(美国人所说的“可以”怪人)。错误可以分步骤使用友好的API构建

- (void)setObject:(id)object forUserInfoKey:(NSString *)key;
- (void)setLocalizedDescriptionWithFormat:(NSString *)format, ...;
- (void)addLocalizedRecoveryOption:(NSString *)option attempterBlock:(BOOL(^)())attempter;

联系方式

我是Mike Abdullah,来自Karelia Software@mikeabdullah在Twitter上。

有关代码的任何问题,请以问题形式提交到https://github.com/karelia/KSError,或者通过Twitter向我发送消息。

依赖关系

除了Foundation以外没有其他依赖。如果您愿意,可能从OS X v10.3开始就适用(针对非基于块的API)。

许可

版权所有 © 2011 Karelia Software

本通知对此软件及其相关文档文件(“软件”)的副本(以下简称“软件”)的任何个人免费许可,允许其在没有任何限制的情况下处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可或出售软件的副本,并允许获得软件的人这样做,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或实质部分中。

软件按“原样”提供,不提供任何形式的明示或暗示保证,包括但不限于适销性、特定目的的适用性和非侵权性。在任何情况下,作者或版权持有人不对任何索赔、损害或其他责任负责,无论是因为合同、侵权或有其他方式,无论是否与软件或使用或操作软件有关。

替代方案

  • 仅就错误恢复功能而言,RMErrorRecoveryAttempter提供类似的功能
  • ErrorKit 提供了大致相同的功能集,还包括
    • 错误记录和断言
    • 在iOS上展示错误
    • 更多访问 userInfo 键的便利方法
    • 一个错误 builder 类,而不是可变的 NSError 子类