Runtime Errors
Runtime errors include program errors like unhandled method calls
or messages sent to released objects, and hardware errors like division
by zero. The Object
root class
provides simple error-handling capability; the Cocoa framework
implements exception raising and handling.
Object Error Handling
When an error occurs, the runtime sets in motion the following sequence of events:
The runtime calls the
-error
: method on the object whose method generated the error. You can override this method to customize error handling for a particular class.The
-error
: method prepares information about the receiver and passes it to the runtime C functionobjc_verror( )
.The
objc_verror( )
function calls the runtime error handler function if there is one; otherwise it writes an error message tostderr
. You can provide a handler function to customize error handling for all classes.If the error handler exists (because you’ve provided one) and it returns
YES
, execution continues; otherwise the program calls the C functionabort( )
and exits.
The GNU runtime provides a function to set your own error handler function:
objc_error_handler objc_set_error_handler(objc_error_handlerf
)
Calling this function sets a new error handler and returns the
previous one. The default error handler is a NULL
pointer. The required signature of an
error handler is declared (in objc-api.h)
as:
typedef
BOOL
(*objc_error_handler)(
id
receiver,int
errCode,const
char
* format,va_list args);
Here are descriptions ...
Get Objective-C Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.