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:
typedefBOOL(*objc_error_handler)(idreceiver,interrCode,constchar* format,va_list args);
Here are descriptions ...