<!--
{
  "documentType" : "article",
  "framework" : "ExceptionHandling",
  "identifier" : "/documentation/ExceptionHandling/nsexceptionhandlerdelegate",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "NSExceptionHandlerDelegate"
}
-->

# NSExceptionHandlerDelegate

The `NSExceptionHandlerDelegate` informal protocol describes methods that [`NSExceptionHandler`](/documentation/ExceptionHandling/NSExceptionHandler)
objects call on their delegates when exceptions occur. An [`NSExceptionHandler`](/documentation/ExceptionHandling/NSExceptionHandler)
object does not need to have a delegate. When one does, these delegate methods are
asked to approve exception handling and logging for each monitored [`NSExceptionHandler`](/documentation/ExceptionHandling/NSExceptionHandler)
object.

## Topics

### Logging and handling exceptions

  <doc://com.apple.documentation/documentation/ObjectiveC/NSObject-swift.class/exceptionHandler(_:shouldHandle:mask:)>

  <doc://com.apple.documentation/documentation/ObjectiveC/NSObject-swift.class/exceptionHandler(_:shouldLogException:mask:)>



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)