Домены NSError/пользовательские домены - соглашения и передовые методы
NSError требует домена, который, как я понимаю, сегментирует диапазон кодов ошибок.
Можно было бы ожидать, что существует где-то реестр кода domain.error, но я не смог его обнаружить.
Предположительно, это могло бы использоваться для поиска локализованных описаний ошибок.
Есть ли у кого-нибудь множество известных рекомендаций по работе с доменами ошибок и кодами? Авторитетная ссылка (основные разработчики или разработчики фреймворков) является оптимальной, но полезны даже блоги, в которых подробно описывается хорошая конвенция.
В ваших проектах вы ведете реестры ваших доменов/кодов ошибок, которые сопоставляются с локализованными описаниями, восстановлениями, известными ключами userinfo или подобными фабриками для ваших объектов ошибок на основе домена/кода?
Или вы вообще просто обманываете какой-то домен и какой-то код и зависте от известных клавиш userinfo, таких как NSLocalizedDescriptionKey и т.д., в ваших заказных доменах NSError?
Ответы
Ответ 1
Apple обычно публикует свои коды NS/CFError в заголовке с именем FrameworkNameErrors.h. Например, коды ошибок Foundation находятся в Foundation/FoundationErrors.h. Кроме того, они обычно публикуют домен и коды в своей документации для фреймворка.
Любой независимый автор структуры с собственным доменом и кодами ошибок должен делать то же самое.