Class: NSException
Overview
NSException is used to implement exception handling and contains information about an exception. An exception is a special condition that interrupts the normal flow of program execution. Each application can interrupt the program for different reasons. For example, one application might interpret saving a file in a directory that is write-protected as an exception. In this sense, the exception is equivalent to an error. Another application might interpret the user’s key-press (for example, Control-C) as an exception: an indication that a long-running process should be aborted.
Class Method Summary (collapse)
-
+ exceptionWithName:reason:userInfo:
Creates and returns an exception object .
-
+ raise:format:
A convenience method that creates and raises an exception.
-
+ raise:format:arguments:
Creates and raises an exception with the specified name, reason, and arguments.
Instance Method Summary (collapse)
-
- callStackReturnAddresses
Returns the call return addresses related to a raised exception.
-
- callStackSymbols
Returns an array containing the current call symbols.
-
- initWithName:reason:userInfo:
Initializes and returns a newly allocated exception object.
-
- name
Returns an NSString object used to uniquely identify the receiver.
-
- raise
Raises the receiver, causing program flow to jump to the local exception handler.
-
- reason
Returns an NSString object containing a “human-readable” reason for the receiver.
-
- userInfo
Returns an NSDictionary object containing application-specific data pertaining to the receiver.
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
+ (NSException) exceptionWithName(name, reason:reason, userInfo:userInfo)
Creates and returns an exception object .
+ (Object) raise(name, format:format, ...)
A convenience method that creates and raises an exception. The user-defined information is nil for the generated exception object.
+ (Object) raise(name, format:format, arguments:argList)
Creates and raises an exception with the specified name, reason, and arguments. The user-defined dictionary of the generated object is nil.
Instance Method Details
- (Array) callStackReturnAddresses
Returns the call return addresses related to a raised exception. NSException subclasses posing as the NSException class or subclasses or other API elements that interfere with the exception-raising mechanism may not get this information.
- (Array) callStackSymbols
Returns an array containing the current call symbols. This method returns an array of strings describing the call stack backtrace at the moment the exception was first raised. The format of each string is non-negotiable and is determined by the backtrace_symbols() API
- (Object) initWithName(name, reason:reason, userInfo:userInfo)
Initializes and returns a newly allocated exception object. This is the designated initializer.
- (Object) raise
Raises the receiver, causing program flow to jump to the local exception handler.
All other methods that raise an exception invoke this method, so set a breakpoint here if you are debugging exceptions. When there are no exception handlers in the exception handler stack, unless the exception is raised during the posting of a notification, this method calls the uncaught exception handler, in which last-minute logging can be performed. The program then terminates, regardless of the actions taken by the uncaught exception handler.
- (Hash) userInfo
Returns an NSDictionary object containing application-specific data pertaining to the receiver. Returns nil if no application-specific data exists. As an example, if a method’s return value caused the exception to be raised, the return value might be available to the exception handler through this method.