是否有可能在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!"];
}
答案 0 :(得分:10)
它没有异常处理,and this discussion in the developer forum discusses why it may be so:
但请记住,Cocoa和Cocoa Touch传统上并不打算这样做 为了你抓住例外;他们打算你不要让他们这样做 被抛在一起。应该处理普通错误 可选类型和inout NSError参数;你应该解决任何问题 导致断言失败的情况(这似乎是唯一的 通过编写更好的代码来实现Swift中的异常抛出机制。
答案 1 :(得分:0)
我相信,截至今天,Swift并不支持这一点。它很可能会在未来的测试版中添加。