try-catch exceptions in Swift

exception, swift, try-catch

Solution

It doesn't have exception handling, and this discussion in the developer forum discusses why it may be so:

but keep in mind that Cocoa and Cocoa Touch traditionally don't intend for you to catch exceptions; they intend for you to not cause them to be thrown in the first place. Ordinary errors should be handled with optional types and inout NSError parameters; you should address any situation that causes an assertion to fail (which seems to be the only exception-throwing mechanism in Swift) by writing better code.

Problem

Is it possible to catch exceptions in Swift? Given the following code: ``` NSException.raise(NSRangeException, format: "Now you've gone too far!", arguments: CVaListPointer(fromUnsafePointer: UnsafePointer())) ``` Is it possible to prevent the exception from crashing the entire program? That is, what is the Swift equivalent of the following in Objective-C: ``` @try { [NSException raise:NSRangeException format:@"Now you've gone too far!"]; } ```

Original source

Related problems