可以在Swift中捕获异常吗?给出以下代码:
NSException.raise(NSRangeException, format: "Now you've gone too far!", arguments: CVaListPointer(fromUnsafePointer: UnsafePointer()))
是否可以防止异常导致整个程序崩溃?也就是说,Objective-C中的Swift等效于什么:
@try { [NSException raise:NSRangeException format:@"Now you've gone too far!"]; }
它没有异常处理,并且在开发人员论坛中的讨论讨论了为什么会这样:
但请记住,可可和可可触控传统上并不打算让您捕获异常。他们打算让您不要将它们放在首位。普通错误应使用可选类型和inout NSError参数处理;您应该通过编写更好的代码来解决任何导致断言失败的情况(这似乎是Swift中唯一的异常抛出机制)。