Inherits from | |
Conforms to | |
Framework | /System/Library/Frameworks/Foundation.framework |
Availability | Available in Mac OS X v10.0 and later. |
Companion guide | |
Declared in | NSException.h |
NSAssertionHandler
objects are automatically created to handle false assertions. Assertion macros, such as NSAssert
and NSCAssert
, are used to evaluate a condition, and, if the condition evaluates to false, the macros pass a string to an NSAssertionHandler
object describing the failure. Each thread has its own NSAssertionHandler
object. When invoked, an assertion handler prints an error message that includes the method and class (or function) containing the assertion and raises an NSInternalInconsistencyException
.
You create assertions only using the assertion macros—you rarely need to invoke NSAssertionHandler
methods directly. The macros for use inside methods and functions send handleFailureInMethod:object:file:lineNumber:description:
and handleFailureInFunction:file:lineNumber:description:
messages respectively to the current assertion handler. The assertion handler for the current thread is obtained using the currentHandler
class method. If you need to customize the behavior of NSAssertionHandler
, create a subclass, overriding the above two methods, and install your instance into the current thread’s attributes dictionary with the key NSAssertionHandler
.
+ currentHandler
– handleFailureInFunction:file:lineNumber:description:
– handleFailureInMethod:object:file:lineNumber:description:
Returns the NSAssertionHandler
object associated with the current thread.
+ (NSAssertionHandler *)currentHandler
The NSAssertionHandler
object associated with the current thread.
If no assertion handler is associated with the current thread, this method creates one and assigns it to the thread.
NSException.h
Logs (using NSLog
) an error message that includes the name of the function, the name of the file, and the line number.
- (void)handleFailureInFunction:(NSString *)functionName file:(NSString *)fileName lineNumber:(NSInteger)line description:(NSString *)format, ...
The function that failed.
The object that failed.
The name of the source file.
The line in which the failure occurred.
A format string followed by a comma-separated list of arguments to substitute into the format string. See Formatting String Objects for more information.
Raises NSInternalInconsistencyException
.
NSException.h
Logs (using NSLog
) an error message that includes the name of the method that failed, the class name of the object, the name of the source file, and the line number.
- (void)handleFailureInMethod:(SEL)selector object:(id)object file:(NSString *)fileName lineNumber:(NSInteger)line description:(NSString *)format, ...
The selector for the method that failed
The object that failed.
The name of the source file.
The line in which the failure occurred.
A format string followed by a comma-separated list of arguments to substitute into the format string. See Formatting String Objects for more information.
Raises NSInternalInconsistencyException
.
NSException.h
© 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-02-22)