Class: NSAssertionHandler

Inherits:
NSObject show all

Overview

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.

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from NSObject

#!, #!=, #!~, #, #==, #===, #=~, #Rational, #__callee__, #__method__, #__send__, #__type__, `, alloc, allocWithZone:, #autoContentAccessingProxy, autoload, autoload?, autorelease_pool, #awakeAfterUsingCoder:, binding, block_given?, caller, cancelPreviousPerformRequestsWithTarget:, cancelPreviousPerformRequestsWithTarget:selector:object:, catch, class, classFallbacksForKeyedArchiver, #classForCoder, #classForKeyedArchiver, classForKeyedUnarchiver, #clone, conformsToProtocol:, #copy, copyWithZone:, #dealloc, #define_singleton_method, description, display, #doesNotRecognizeSelector:, #dup, #enum_for, #eql?, #equal?, #extend, fail, #finalize, format, #forwardInvocation:, #forwardingTargetForSelector:, framework, #freeze, #frozen?, getpass, gets, global_variables, #init, initialize, #initialize_clone, #initialize_copy, #initialize_dup, #inspect, instanceMethodForSelector:, instanceMethodSignatureForSelector:, #instance_eval, #instance_exec, #instance_of?, #instance_variable_defined?, #instance_variable_get, #instance_variable_set, #instance_variables, instancesRespondToSelector:, isSubclassOfClass:, #is_a?, iterator?, #kind_of?, lambda, load, load_bridge_support_file, load_plist, local_variables, loop, #method, #methodForSelector:, #methodSignatureForSelector:, #methods, #mutableCopy, mutableCopyWithZone:, new, #nil?, open, p, #performSelector:onThread:withObject:waitUntilDone:, #performSelector:onThread:withObject:waitUntilDone:modes:, #performSelector:withObject:afterDelay:, #performSelector:withObject:afterDelay:inModes:, #performSelectorInBackground:withObject:, #performSelectorOnMainThread:withObject:waitUntilDone:, #performSelectorOnMainThread:withObject:waitUntilDone:modes:, print, printf, #private_methods, proc, #protected_methods, #public_method, #public_methods, #public_send, putc, puts, raise, rand, readline, readlines, #replacementObjectForCoder:, #replacementObjectForKeyedArchiver:, require, resolveClassMethod:, resolveInstanceMethod:, #respond_to?, #respond_to_missing?, select, #send, setVersion:, #singleton_methods, sprintf, srand, superclass, #taint, #tainted?, #tap, test, throw, #to_plist, #to_s, trace_var, trap, #trust, #untaint, untrace_var, #untrust, #untrusted?, version

Constructor Details

This class inherits a constructor from NSObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class NSObject

Class Method Details

+ (NSAssertionHandler) currentHandler

Returns 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.

Returns:

Instance Method Details

- (Object) handleFailureInFunction(functionName, file:fileName, lineNumber:line, description:format, ...)

Logs (using NSLog) an error message that includes the name of the function, the name of the file, and the line number. Raises NSInternalInconsistencyException.

Parameters:

  • functionName

    The function that failed.

  • object

    The object that failed.

  • fileName

    The name of the source file.

  • line

    The line in which the failure occurred.

  • format,...

    A format string followed by a comma-separated list of arguments to substitute into the format string. See Formatting String Objects for more information.

Returns:

- (Object) handleFailureInMethod(selector, object:object, file:fileName, lineNumber:line, description:format, ...)

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. Raises NSInternalInconsistencyException.

Parameters:

  • selector (Symbol)

    The selector for the method that failed

  • object (Object)

    The object that failed.

  • fileName (String)

    The name of the source file.

  • line (Integer)

    The line in which the failure occurred.

  • format,... (String)

    A format string followed by a comma-separated list of arguments to substitute into the format string. See Formatting String Objects for more information.

Returns: