NSError
NSError объект инкапсулирует более богатый и больше расширяемой информации об ошибке, чем возможное использование только код ошибки или строка ошибки. Базовые атрибуты NSError объект является ошибочным доменом (представленный строкой), проблемно-ориентированный код ошибки и пользовательский информационный словарь, содержащий специализированную информацию.
Несколько известных доменов определяются, соответствуя Маху, POSIX, и OSStatus ошибки. Коды ошибки основы найдены в ошибочном домене Какао и задокументированы в Ссылку Констант Основы. Кроме того, NSError позволяет Вам присоединять произвольный пользовательский информационный словарь к ошибочному объекту и обеспечивает средние значения для возврата человекочитаемого описания для ошибки.
NSError не абстрактный класс и может использоваться непосредственно. Приложения могут принять решение создать подклассы NSError обеспечить лучше локализованные строки ошибки путем переопределения localizedDescription.
В целом метод должен сигнализировать состояние ошибки — например — возврат NOfalse или nil вместо простым присутствием ошибочного объекта. Метод может тогда дополнительно возвратиться NSError объект ссылкой, для дальнейшего описания ошибки.
NSError бесплатный соединенный мостом с его Базовым дубликатом Основы, CFErrorRef. Посмотрите Бесплатное Образование моста для получения дополнительной информации.
Соответствует
-
AnyObject -
CVarArgType -
Сопоставимый -
Hashable -
NSCoding -
NSCopying -
NSObjectProtocol -
NSSecureCoding -
Печатаемый -
NSCopying -
NSObject -
NSSecureCoding
Оператор импорта
Swift
import Foundation
Objective C
@import Foundation;
Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
Создает и инициализирует
NSErrorобъект для данного домена и кода с даннымuserInfoсловарь.Объявление
Objective C
+ (instancetype)errorWithDomain:(NSString *)domaincode:(NSInteger)codeuserInfo:(NSDictionary *)dictПараметры
domainОшибочный домен — это может быть одним из предопределенных
NSErrorдомены или произвольная строка, описывающая пользовательский домен.domainне должен бытьnil. Посмотрите Ошибочные Домены для списка предопределенных доменов.codeКод ошибки для ошибки.
dictuserInfoсловарь для ошибки.userInfoможет бытьnil.Возвращаемое значение
NSErrorобъект дляdomainс указанной ошибкойcodeи словарь произвольных данныхuserInfo.Оператор импорта
Objective C
@import Foundation;Доступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
-
init (domain:code:userInfo:) - initWithDomain:code:userInfo:Определяемый инициализаторВозвраты
NSErrorобъект, инициализированный для данного домена и кода с даннымuserInfoсловарь.Объявление
Objective C
- (instancetype)initWithDomain:(NSString *)domaincode:(NSInteger)codeuserInfo:(NSDictionary *)dictПараметры
domainОшибочный домен — это может быть одним из предопределенных
NSErrorдомены или произвольная строка, описывающая пользовательский домен.domainне должен бытьnil. Посмотрите Ошибочные Домены для списка предопределенных доменов.codeКод ошибки для ошибки.
dictuserInfoсловарь для ошибки.userInfoможет бытьnil.Возвращаемое значение
NSErrorобъект, инициализированный дляdomainс указанной ошибкойcodeи словарь произвольных данныхuserInfo.Обсуждение
Это - определяемый инициализатор для
NSError.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
См. также
-
Код ошибки. (только для чтения)
Обсуждение
Обратите внимание на то, что ошибки являются зависящими от домена.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
См. также
-
Строка, содержащая ошибочный домен. (только для чтения)
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
См. также
-
Пользовательский информационный словарь. (только для чтения)
Объявление
Swift
var userInfo: [NSObject : AnyObject]? { get }Objective C
@property(readonly, copy) NSDictionary *userInfoОбсуждение
Если пользовательский информационный словарь не был установлен, это свойство
nil.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
См. также
-
localizedDescription localizedDescriptionСвойствоСтрока, содержащая локализованное описание ошибки. (только для чтения)
Объявление
Swift
var localizedDescription: String { get }Objective C
@property(readonly, copy) NSString *localizedDescriptionОбсуждение
Объект в пользовательском информационном словаре для ключа
NSLocalizedDescriptionKey. Если пользовательский информационный словарь не содержит значение дляNSLocalizedDescriptionKey, строка по умолчанию создается из домена и кода.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
См. также
-
Массив, содержащий локализованные заголовки кнопок, подходящих для отображения в предупредительной панели. (только для чтения)
Объявление
Swift
var localizedRecoveryOptions: [AnyObject]? { get }Objective C
@property(readonly, copy) NSArray *localizedRecoveryOptionsОбсуждение
Объект в пользовательском информационном словаре для ключа
NSLocalizedRecoveryOptionsErrorKey. Если пользовательский информационный словарь не содержит значение дляNSLocalizedRecoveryOptionsErrorKey, это свойствоnil.Первая строка является заголовком самой правой и кнопки по умолчанию, второе то налево от этого, и т.д. Опции восстановления должны быть подходящими для
localizedRecoverySuggestionсвойство. Если пользовательский информационный словарь не содержит значение дляNSLocalizedRecoveryOptionsErrorKey, только кнопка OK выведена на экран.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
Строка, содержащая локализованное предложение восстановления для ошибки. (только для чтения)
Объявление
Swift
var localizedRecoverySuggestion: String? { get }Objective C
@property(readonly, copy) NSString *localizedRecoverySuggestionОбсуждение
Объект в пользовательском информационном словаре для ключа
NSLocalizedRecoverySuggestionErrorKey. Если пользовательский информационный словарь не содержит значение дляNSLocalizedRecoverySuggestionErrorKey, это свойствоnil.Возвращаемая строка подходит для отображения как вторичное сообщение в предупредительной панели.
Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
-
Строка, содержащая локализованное объяснение причины ошибки. (только для чтения)
Объявление
Swift
var localizedFailureReason: String? { get }Objective C
@property(readonly, copy) NSString *localizedFailureReasonОбсуждение
Объект в пользовательском информационном словаре для ключа
NSLocalizedFailureReasonErrorKey.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
См. также
-
recoveryAttempter recoveryAttempterСвойствоОбъект, соответствующий
NSErrorRecoveryAttemptingнеофициальный протокол. (только для чтения)Объявление
Swift
var recoveryAttempter: AnyObject? { get }Objective C
@property(readonly, retain) id recoveryAttempterОбсуждение
Объект в пользовательском информационном словаре для ключа
NSRecoveryAttempterErrorKey. Если пользовательский информационный словарь не содержит значение дляNSRecoveryAttempterErrorKey, это свойствоnil.Восстановление attempter должно быть объектом, который может правильно интерпретировать индекс в
localizedRecoveryOptionsсвойство.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.4 и позже.
См. также
-
helpAnchor helpAnchorСвойствоСтрока для отображения в ответ на предупредительную панель помогает нажимаемой кнопке привязки. (только для чтения)
Объявление
Swift
var helpAnchor: String? { get }Objective C
@property(readonly, copy) NSString *helpAnchorОбсуждение
Объект в пользовательском информационном словаре для ключа
NSHelpAnchorErrorKey. Если пользовательский информационный словарь не содержит значение дляNSHelpAnchorErrorKey, это свойствоnil.Если это свойство не -
nilдля ошибки, будучи представленнымalertWithError:, предупредительная панель будет включать кнопку привязки справки, которая может вывести на экран эту строку.Оператор импорта
Objective C
@import Foundation;Swift
import FoundationДоступность
Доступный в OS X v10.6 и позже.
-
Эти ключи могут существовать в пользовательском информационном словаре.
Объявление
Swift
let NSLocalizedDescriptionKey: NSString! let NSFilePathErrorKey: NSString! let NSStringEncodingErrorKey: NSString! let NSUnderlyingErrorKey: NSString! let NSURLErrorKey: NSString! let NSLocalizedFailureReasonErrorKey: NSString! let NSLocalizedRecoverySuggestionErrorKey: NSString! let NSLocalizedRecoveryOptionsErrorKey: NSString! let NSRecoveryAttempterErrorKey: NSString! let NSHelpAnchorErrorKey: NSString! let NSURLErrorFailingURLErrorKey: NSString! let NSURLErrorFailingURLStringErrorKey: NSString! let NSURLErrorFailingURLPeerTrustErrorKey: NSString!Objective C
NSString * const NSLocalizedDescriptionKey; NSString * const NSErrorFailingURLStringKey; NSString * const NSFilePathErrorKey; NSString * const NSStringEncodingErrorKey; NSString * const NSUnderlyingErrorKey; NSString * const NSURLErrorKey; NSString * const NSLocalizedFailureReasonErrorKey; NSString * const NSLocalizedRecoverySuggestionErrorKey; NSString * const NSLocalizedRecoveryOptionsErrorKey; NSString * const NSRecoveryAttempterErrorKey; NSString * const NSHelpAnchorErrorKey; NSString * const NSURLErrorFailingURLErrorKey; NSString * const NSURLErrorFailingURLStringErrorKey; NSString * const NSURLErrorFailingURLPeerTrustErrorKey;Константы
-
NSLocalizedDescriptionKeyNSLocalizedDescriptionKeyСоответствующее значение является представлением локализованной строки ошибки, которой, если есть будет возвращен
localizedDescription.Доступный в OS X v10.2 и позже.
-
NSErrorFailingURLStringKeyNSErrorFailingURLStringKeyСоответствующим значением является URL, вызвавший ошибку. Этот ключ только присутствует в
NSURLErrorDomain.Эта константа осуждается в OS X v10.6 и заменяется
NSURLErrorFailingURLStringErrorKey.Эта константа осуждается в OS X v10.6 и заменяется
NSURLErrorFailingURLStringErrorKey. Обе константы относятся к тому же значению для прежней совместимости, но новое имя символа имеет лучший префикс.Доступный в OS X v10.2 с установленным Safari 1.0.
Доступный в OS X v10.2.7 и позже.
Осуждаемый в OS X v10.6.
-
NSFilePathErrorKeyNSFilePathErrorKeyСодержит путь к файлу ошибки.
Соответствующее значение
NSStringобъект.Доступный в OS X v10.4 и позже.
-
NSStringEncodingErrorKeyNSStringEncodingErrorKeyСоответствующее значение
NSNumberобъект, содержащийNSStringEncodingзначение.Доступный в OS X v10.4 и позже.
-
NSUnderlyingErrorKeyNSUnderlyingErrorKeyСоответствующее значение является ошибкой, с которой встретились в конкретной реализации и вызвала ошибку, которую получатель представляет для появления.
Доступный в OS X v10.3 и позже.
-
NSURLErrorKeyNSURLErrorKeyСоответствующее значение
NSURLобъект.Доступный в OS X v10.4 и позже.
-
NSLocalizedFailureReasonErrorKeyNSLocalizedFailureReasonErrorKeyСоответствующее значение является представлением локализованной строки, содержащим причину отказа, что, если есть будет возвращен
localizedFailureReason.Доступный в OS X v10.4 и позже.
-
NSLocalizedRecoverySuggestionErrorKeyNSLocalizedRecoverySuggestionErrorKeyСоответствующее значение является строкой, содержащей локализованное предложение восстановления для ошибки.
Эта строка подходит для отображения как вторичное сообщение в предупредительной панели.
Доступный в OS X v10.4 и позже.
-
NSLocalizedRecoveryOptionsErrorKeyNSLocalizedRecoveryOptionsErrorKeyСоответствующее значение является массивом, содержащим локализованные заголовки кнопок, подходящих для отображения в предупредительной панели.
Первая строка является заголовком самой правой и кнопки по умолчанию, второе то налево, и т.д. Опции восстановления должны быть подходящими для предложения восстановления, возвращенного
localizedRecoverySuggestion.Доступный в OS X v10.4 и позже.
-
NSRecoveryAttempterErrorKeyNSRecoveryAttempterErrorKeyСоответствующее значение является объектом, соответствующим
NSErrorRecoveryAttemptingнеофициальный протокол.Восстановление attempter должно быть объектом, который может правильно интерпретировать индекс в массив, возвращенный
recoveryAttempter.Доступный в OS X v10.4 и позже.
-
NSHelpAnchorErrorKeyNSHelpAnchorErrorKeyСоответствующее значение
NSStringсодержа локализованную справку, соответствующую кнопке справки. ПосмотритеhelpAnchorдля получения дополнительной информации.Доступный в OS X v10.6 и позже.
-
NSURLErrorFailingURLErrorKeyNSURLErrorFailingURLErrorKeyСоответствующее значение
NSURLсодержа URL, заставивший загрузку перестать работать. Этот ключ только присутствует вNSURLErrorDomain.Доступный в OS X v10.6 и позже.
-
NSURLErrorFailingURLStringErrorKeyNSURLErrorFailingURLStringErrorKeyСоответствующее значение
NSStringобъект для URL, заставившего загрузку перестать работать. Этот ключ только присутствует вNSURLErrorDomain.Эта константа заменяет
NSErrorFailingURLStringKey, который осуждался в OS X v10.6. Обе константы относятся к тому же значению для прежней совместимости, но это имя символа имеет лучший префикс.Доступный в OS X v10.6 и позже.
-
NSURLErrorFailingURLPeerTrustErrorKeyNSURLErrorFailingURLPeerTrustErrorKeyСоответствующее значение
SecTrustRefобъект, представляющий состояние неработающего квитирования SSL. Этот ключ только присутствует вNSURLErrorDomain.Доступный в OS X v10.6 и позже.
-
-
Следующие ошибочные домены предопределены.
Объявление
Swift
let NSPOSIXErrorDomain: NSString! let NSOSStatusErrorDomain: NSString! let NSMachErrorDomain: NSString!Objective C
NSString * const NSPOSIXErrorDomain; NSString * const NSOSStatusErrorDomain; NSString * const NSMachErrorDomain;Константы
-
NSPOSIXErrorDomainNSPOSIXErrorDomainОшибки POSIX/BSD
Доступный в OS X v10.2 и позже.
-
NSOSStatusErrorDomainNSOSStatusErrorDomainMac OS 9/углеродов ошибок
Доступный в OS X v10.2 и позже.
-
NSMachErrorDomainNSMachErrorDomainОшибки Маха
Доступный в OS X v10.2 и позже.
Обсуждение
Кроме того, следующий ошибочный домен определяется Базовой Основой:
-
