Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы ExceptionHandling ссылка класса NSExceptionHandler

Опции
Развертывание Target:

На этой странице
Язык:

NSExceptionHandler

NSExceptionHandler класс предоставляет средства для контроля и отладки исключительных условий в программах Objective C. Это работает путем установки специального обработчика необработанных исключений через NSSetUncaughtExceptionHandler функция. Следовательно, для использования служб NSExceptionHandler, Вы не должны устанавливать своего собственного обработчика необработанных исключений.

Для использования этих служб Вы устанавливаете немного маски в одиночном элементе NSExceptionHandler экземпляр и, дополнительно, делегат. Константы, включающие битовую маску, указывают тип исключения, которое будет контролироваться и поведение NSExceptionHandler объект (или, просто, обработчик исключений). Делегата просят утвердить журналирование и обработку каждого контролируемого NSException объект с помощью NSExceptionHandlerDelegate протокол.

Константы для конфигурирования поведения обработчика исключений могут быть категоризированы несколькими способами:

  • Неперехваченные исключения по сравнению с перехваченными исключительными ситуациями — или, более точно, исключения, которые были бы пойманы (например, обработчиком верхнего уровня)

  • Тип исключительной ситуации или причина: системные исключения (такие как недопустимые доступы памяти), ошибки периода выполнения Objective C (такие как сообщения отправил к освобожденным объектам), и другие исключения

  • Поведение обработчика исключений: журналирование исключения (включая отслеживание стека) к консоли, обработка исключения и приостановка реализации программы так отладчик может быть присоединено

Путем дескрипторы обработчика исключений исключение зависят от типа исключения; обработчик исключений преобразовывает системные исключения и ошибки периода выполнения в NSException объекты с отслеживанием стека, встроенным в их userInfo словарь; для всех других неперехваченных исключений это завершает поток, на котором они происходят. Константы раньше конфигурировали NSExceptionHandler объект описан в Журналировании и Обработке Константы Зависания системы и Константы.

defaults система командной строки также позволяет Вам устанавливать значения, соответствующие enum константы раньше конфигурировали обработчик исключений; посмотрите Управление Ответом Программы на Исключения для подробных данных.

Наследование


Соответствует


Оператор импорта


Swift

import ExceptionHandling

Objective C

@import ExceptionHandling;

Доступность


OS X v10.0
  • Возвращает одиночный элемент NSExceptionHandler экземпляр.

    Объявление

    Swift

    class func defaultExceptionHandler() -> NSExceptionHandler!

    Objective C

    + (NSExceptionHandler *)defaultExceptionHandler

    Оператор импорта

    Objective C

    @import ExceptionHandling;

    Swift

    import ExceptionHandling

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвраты немного маски, представляющей типы исключений, контролируемых получателем и его обработкой и журналированием поведения.

    Объявление

    Swift

    func exceptionHandlingMask() -> Int

    Objective C

    - (NSUInteger)exceptionHandlingMask

    Возвращаемое значение

    Немного маски, составленной из одной или более констант, указывающих типы исключений, контролировало и обрабатываются ли они или регистрируются (или оба). Посмотрите Logging and Handling Constants для получения информации о константах.

    Оператор импорта

    Objective C

    @import ExceptionHandling;

    Swift

    import ExceptionHandling

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвраты немного маски, представляющей типы исключений, которые остановят выполнение для отладки.

    Объявление

    Swift

    func exceptionHangingMask() -> Int

    Objective C

    - (NSUInteger)exceptionHangingMask

    Возвращаемое значение

    Немного маски сочинило одной или более констант, указывающих типы исключений, которые остановят выполнение для отладки. Посмотрите System Hang Constants для получения информации о константах.

    Оператор импорта

    Objective C

    @import ExceptionHandling;

    Swift

    import ExceptionHandling

    Доступность

    Доступный в OS X v10.0 и позже.

  • Устанавливает битовую маску констант, указывающих типы исключений, контролируемых получателем и его обработкой и журналированием поведения.

    Объявление

    Swift

    func setExceptionHandlingMask(_ aMask: Int)

    Objective C

    - (void)setExceptionHandlingMask:(NSUInteger)aMask

    Параметры

    aMask

    Немного маски, составленной из одной или более констант, указывающих типы исключений, контролировало и обрабатываются ли они или регистрируются (или оба). Вы указываете многократные константы путем выполнения работы битового «ИЛИ». Посмотрите Logging and Handling Constants для получения информации о константах.

    Оператор импорта

    Objective C

    @import ExceptionHandling;

    Swift

    import ExceptionHandling

    Доступность

    Доступный в OS X v10.0 и позже.

  • Устанавливает битовую маску констант, указывающих типы исключений, которые остановят выполнение для отладки.

    Объявление

    Swift

    func setExceptionHangingMask(_ aMask: Int)

    Objective C

    - (void)setExceptionHangingMask:(NSUInteger)aMask

    Параметры

    aMask

    Немного маски сочинило одной или более констант, указывающих типы исключений, которые остановят выполнение для отладки. Вы указываете многократные константы путем выполнения работы битового «ИЛИ». Посмотрите System Hang Constants для получения информации о константах.

    Оператор импорта

    Objective C

    @import ExceptionHandling;

    Swift

    import ExceptionHandling

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает делегата NSExceptionHandler объект.

    Объявление

    Swift

    func delegate() -> AnyObject!

    Objective C

    - (id)delegate

    Оператор импорта

    Objective C

    @import ExceptionHandling;

    Swift

    import ExceptionHandling

    Доступность

    Доступный в OS X v10.0 и позже.

  • Устанавливает делегата NSExceptionHandler объект.

    Объявление

    Swift

    func setDelegate(_ anObject: AnyObject!)

    Objective C

    - (void)setDelegate:(id)anObject

    Параметры

    anObject

    Объект получить сообщения делегации, описанные в Журналировании и обработке исключений

    Оператор импорта

    Objective C

    @import ExceptionHandling;

    Swift

    import ExceptionHandling

    Доступность

    Доступный в OS X v10.0 и позже.

  • Используйте один или больше следующих констант в параметре setExceptionHandlingMask: указать типы исключений, которые должен контролировать обработчик исключений и должен ли он обработать или зарегистрировать их.

    Объявление

    Swift

    var NSLogUncaughtExceptionMask: Int { get } var NSHandleUncaughtExceptionMask: Int { get } var NSLogUncaughtSystemExceptionMask: Int { get } var NSHandleUncaughtSystemExceptionMask: Int { get } var NSLogUncaughtRuntimeErrorMask: Int { get } var NSHandleUncaughtRuntimeErrorMask: Int { get } var NSLogTopLevelExceptionMask: Int { get } var NSHandleTopLevelExceptionMask: Int { get } var NSLogOtherExceptionMask: Int { get } var NSHandleOtherExceptionMask: Int { get }

    Objective C

    enum { NSLogUncaughtExceptionMask = 1 << 0, NSHandleUncaughtExceptionMask = 1 << 1, NSLogUncaughtSystemExceptionMask = 1 << 2, NSHandleUncaughtSystemExceptionMask = 1 << 3, NSLogUncaughtRuntimeErrorMask = 1 << 4, NSHandleUncaughtRuntimeErrorMask = 1 << 5, NSLogTopLevelExceptionMask = 1 << 6, NSHandleTopLevelExceptionMask = 1 << 7, NSLogOtherExceptionMask = 1 << 8, NSHandleOtherExceptionMask = 1 << 9 };

    Константы

    • NSLogUncaughtExceptionMask

      NSLogUncaughtExceptionMask

      Обработчик исключений регистрирует неперехваченные исключения.

      Доступный в OS X v10.0 и позже.

    • NSHandleUncaughtExceptionMask

      NSHandleUncaughtExceptionMask

      Обработчик исключений обрабатывает неперехваченные исключения путем завершения потока, в котором они происходят.

      Доступный в OS X v10.0 и позже.

    • NSLogUncaughtSystemExceptionMask

      NSLogUncaughtSystemExceptionMask

      Обработчик исключений регистрирует непойманные системные исключения.

      Доступный в OS X v10.0 и позже.

    • NSHandleUncaughtSystemExceptionMask

      NSHandleUncaughtSystemExceptionMask

      Обработчик исключений обрабатывает непойманные системные исключения путем преобразования их в NSException объекты, содержащие отслеживание стека.

      Доступный в OS X v10.0 и позже.

    • NSLogUncaughtRuntimeErrorMask

      NSLogUncaughtRuntimeErrorMask

      Обработчик исключений регистрирует непойманные ошибки периода выполнения.

      Доступный в OS X v10.0 и позже.

    • NSHandleUncaughtRuntimeErrorMask

      NSHandleUncaughtRuntimeErrorMask

      Обработчик исключений обрабатывает непойманные ошибки периода выполнения путем преобразования их в NSException объекты, содержащие отслеживание стека.

      Доступный в OS X v10.0 и позже.

    • NSLogTopLevelExceptionMask

      NSLogTopLevelExceptionMask

      Обработчик исключений регистрирует исключения, которые были бы пойманы обработчиком верхнего уровня.

      Доступный в OS X v10.0 и позже.

    • NSHandleTopLevelExceptionMask

      NSHandleTopLevelExceptionMask

      Обработчик исключений обрабатывает исключения, пойманные обработчиком верхнего уровня путем преобразования их в NSException объекты, содержащие отслеживание стека.

      Доступный в OS X v10.0 и позже.

    • NSLogOtherExceptionMask

      NSLogOtherExceptionMask

      Обработчик исключений регистрирует исключения, пойманные обработчиками ниже, чем обработчик верхнего уровня.

      Доступный в OS X v10.0 и позже.

    • NSHandleOtherExceptionMask

      NSHandleOtherExceptionMask

      Обработчик исключений обрабатывает исключения, пойманные обработчиками ниже, чем обработчик верхнего уровня путем преобразования их в NSException объекты, содержащие отслеживание стека.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Когда домены обработки исключений вкладываются, NSLogTopLevelExceptionMask и NSHandleTopLevelExceptionMask соглашение за исключениями, которые добрались бы до лучших двух уровней обработчиков исключений. В основном потоке приложения Какао обработчик верхнего уровня является глобальной переменной NSApplication экземпляр.

  • Используйте один или больше следующих констант в параметре setExceptionHangingMask: для указания типов исключений, заставляющих исключение останавливать выполнение, так, отладчик может быть присоединен.

    Объявление

    Swift

    var NSHangOnUncaughtExceptionMask: Int { get } var NSHangOnUncaughtSystemExceptionMask: Int { get } var NSHangOnUncaughtRuntimeErrorMask: Int { get } var NSHangOnTopLevelExceptionMask: Int { get } var NSHangOnOtherExceptionMask: Int { get }

    Objective C

    enum { NSHangOnUncaughtExceptionMask = 1 << 0, NSHangOnUncaughtSystemExceptionMask = 1 << 1, NSHangOnUncaughtRuntimeErrorMask = 1 << 2, NSHangOnTopLevelExceptionMask = 1 << 3, NSHangOnOtherExceptionMask = 1 << 4 };

    Константы

    • NSHangOnUncaughtExceptionMask

      NSHangOnUncaughtExceptionMask

      Обработчик исключений приостанавливает выполнение, когда это обнаруживает неперехваченное исключение (кроме системного исключения или ошибки периода выполнения).

      Доступный в OS X v10.0 и позже.

    • NSHangOnUncaughtSystemExceptionMask

      NSHangOnUncaughtSystemExceptionMask

      Обработчик исключений приостанавливает выполнение, когда это обнаруживает непойманное системное исключение.

      Доступный в OS X v10.0 и позже.

    • NSHangOnUncaughtRuntimeErrorMask

      NSHangOnUncaughtRuntimeErrorMask

      Обработчик исключений приостанавливает выполнение, когда это обнаруживает непойманную ошибку периода выполнения.

      Доступный в OS X v10.0 и позже.

    • NSHangOnTopLevelExceptionMask

      NSHangOnTopLevelExceptionMask

      Обработчик исключений приостанавливает выполнение, когда это обнаруживает исключение, которое было бы обработано обработчиком верхнего уровня.

      Доступный в OS X v10.0 и позже.

    • NSHangOnOtherExceptionMask

      NSHangOnOtherExceptionMask

      Обработчик исключений приостанавливает выполнение, когда это обнаруживает исключение, которое было бы обработано объектом кроме обработчика верхнего уровня.

      Доступный в OS X v10.0 и позже.

    Обсуждение

    Когда домены обработки исключений вкладываются, NSHangOnTopLevelExceptionMask соглашения за исключениями, которые добрались бы до лучших двух уровней обработчиков исключений. В основном потоке приложения Какао обработчик верхнего уровня является глобальной переменной NSApplication экземпляр.

  • Следующий #define константы являются удобствами для указания полных наборов обработки исключений enum константы.

    Объявление

    Objective C

    NSHangOnEveryExceptionMask NSLogAndHandleEveryExceptionMask

    Константы

    • NSHangOnEveryExceptionMask

      NSHangOnEveryExceptionMask

      Объединения через битовое «ИЛИ» все константы, перечисленные в System Hang Constants.

      Доступный в OS X v10.0 и позже.

    • NSLogAndHandleEveryExceptionMask

      NSLogAndHandleEveryExceptionMask

      Объединения через битовое «ИЛИ» все константы, перечисленные в Logging and Handling Constants.

      Доступный в OS X v10.0 и позже.

  • Две из следующих глобальных строковых констант идентифицируют исключения, сгенерированные платформой для ошибок периода выполнения Objective C и системных исключений, таких как недопустимые доступы памяти. Другая константа используется в качестве ключа для доступа к отслеживанию стека в userInfo словарь NSException объект, когда требуется.

    Объявление

    Swift

    var NSUncaughtSystemExceptionException: NSString! var NSUncaughtRuntimeErrorException: NSString! var NSStackTraceKey: NSString!

    Objective C

    EXCEPTIONHANDLING_EXPORT NSString *NSUncaughtSystemExceptionException; EXCEPTIONHANDLING_EXPORT NSString *NSUncaughtRuntimeErrorException; EXCEPTIONHANDLING_EXPORT NSString *NSStackTraceKey;

    Константы

    • NSUncaughtSystemExceptionException

      NSUncaughtSystemExceptionException

      Идентифицирует непойманное системное исключение.

      Доступный в OS X v10.0 и позже.

    • NSUncaughtRuntimeErrorException

      NSUncaughtRuntimeErrorException

      Идентифицирует ошибку периода выполнения Objective C.

      Доступный в OS X v10.0 и позже.

    • NSStackTraceKey

      NSStackTraceKey

      Ключ для выборки отслеживания стека ( NSString объект) в userInfo словарь NSException объект передал в один из методов делегата, описанных в Журналировании и обработке исключений.

      Доступный в OS X v10.0 и позже.