Introduction to Exception Programming Topics for Cocoa
This document discusses how to raise and handle exceptions: special conditions that interrupt the normal flow of program execution. The Objective-C directives and Foundation API for exceptions are available on iOS and OS X.
Instead of exceptions, error objects (
NSError) and the Cocoa error-delivery mechanism are the recommended way to communicate expected errors in Cocoa applications. For further information, see Error Handling Programming Guide.
Organization of This Document
This document contains the following articles:
“Exceptions and the Cocoa Frameworks” describes
NSExceptionobjects and their general use with the Cocoa frameworks.
“Handling Exceptions” describes how to handle an exception using the compiler directives
“Throwing Exceptions” describes how to throw (raise) an exception.
“Nesting Exception Handlers” describes how exception handlers can be nested.
“Predefined Exceptions” describes where to find exceptions defined by Cocoa.
“Uncaught Exceptions” describes what happens to an exception not caught by an exception handler.
“Controlling a Program’s Response to Exceptions” describes how to use the Exception Handling framework for monitoring and controlling the behavior of Cocoa programs in response to various types of exceptions.
“Exceptions in 64-Bit Executables” describes zero-cost
@tryblocks and C++ interoperability in 64-bit executables.
For information on originating, handling, and recovering from expected runtime errors, see Error Handling Programming Guide. Also see the related document,Assertions and Logging Programming Guide, for information on the Foundation framework's support for making assertions and logging error information.