NSError 域/自定义域 - 约定和最佳实践

发布于 2024-08-12 06:08:06 字数 362 浏览 10 评论 0原文

NSError 需要一个域,我理解它分段了错误代码的范围。

人们会预料到某个地方存在一个domain.error代码的注册表,但我还没有发现一个。

据说这可以用于查找错误的本地化描述。

有没有人有一套处理错误域和代码的已知最佳实践?权威的参考(主要开发人员或框架制造商)是最佳的,但即使是详细说明良好约定的博客也是有用的。

在您的项目中,您是否维护错误域/代码的注册表,这些注册表映射到本地化描述、恢复、众所周知的用户信息密钥或基于域/代码的错误对象的类似工厂?

或者,您通常只是将一些域和一些代码拼凑在一起,并在定制的 NSError 域中依赖众所周知的用户信息键,例如 NSLocalizedDescriptionKey 等?

NSError requires a domain, which I understand segments the range of error codes.

One would anticipate that there exist somewhere a registry of domain.error code but I've not been able to discover one.

Supposedly this could used for looking up localized descriptions for errors.

Does anyone have any set of known best practices for dealing with error domains and codes? An authoritative reference (major developers or framework makers) is optimal, but even blogs detailing a good convention is useful.

In your projects do you maintain registries of your error domains/codes that map to localized descriptions, recoveries, well known userinfo keys or like factories for your error objects based on domain/code?

Or do you generally just cobble together some domain and some code, and depend on well known userinfo keys such as NSLocalizedDescriptionKey, etc, in your bespoke NSError domains?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

北陌 2024-08-19 06:08:06

Apple 通常在名为 FrameworkNameErrors.h 的标头中发布其 NS/CFError 代码。例如,Foundation 的错误代码位于 Foundation/FoundationErrors.h 中。此外,他们通常会在框架文档中发布域和代码。

具有自己的错误域和代码的框架的任何独立作者都应该这样做。

Apple generally publishes their NS/CFError codes in a header named FrameworkNameErrors.h. For example, Foundation's error codes are in Foundation/FoundationErrors.h. In addition, they generally publish the domain and codes in their documentation for the framework.

Any independent author of a framework with its own error domain and codes should do the same.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文