Class: NSException

Inherits:
NSObject show all

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)

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

+ (NSException) exceptionWithName(name, reason:reason, userInfo:userInfo)

Creates and returns an exception object .

Parameters:

  • name (String)

    The name of the exception.

  • reason (String)

    A human-readable message string summarizing the reason for the exception.

  • userInfo (Hash)

    A dictionary containing user-defined information relating to the exception

Returns:

+ (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.

Parameters:

  • name

    The name of the exception.

  • format,

    A human-readable message string (that is, the exception reason) with conversion specifications for the variable arguments that follow.

  • ...

    Variable information to be inserted into the formatted exception reason (in the manner of printf).

Returns:

+ (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.

Parameters:

  • name (String)

    The name of the exception.

  • format (String)

    A human-readable message string (that is, the exception reason) with conversion specifications for the variable arguments in argList.

  • argList (va_list)

    Variable information to be inserted into the formatted exception reason (in the manner of vprintf).

Returns:

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.

Returns:

  • (Array)

    An array of NSNumber objects encapsulating NSUInteger values. Each value is a call frame return address. The array of stack frames starts at the point at which the exception was first raised, with the first items being the most recent stack frames.

- (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

Returns:

  • (Array)

    An array containing the current call stack symbols.

- (Object) initWithName(name, reason:reason, userInfo:userInfo)

Initializes and returns a newly allocated exception object. This is the designated initializer.

Parameters:

  • name (String)

    The name of the exception.

  • reason (String)

    A human-readable message string summarizing the reason for the exception.

  • userInfo (Hash)

    A dictionary containing user-defined information relating to the exception

Returns:

  • (Object)

    The created NSException object or nil if the object couldn't be created.

- (String) name

Returns an NSString object used to uniquely identify the receiver.

Returns:

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

Returns:

- (String) reason

Returns an NSString object containing a “human-readable” reason for the receiver.

Returns:

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

Returns: