在Swift中尝试捕获异常

时间:2014-06-03 19:12:06

标签: exception try-catch swift

是否有可能在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!"];
}

2 个答案:

答案 0 :(得分:10)

它没有异常处理,and this discussion in the developer forum discusses why it may be so

  

但请记住,Cocoa和Cocoa Touch传统上并不打算这样做   为了你抓住例外;他们打算你不要让他们这样做   被抛在一起。应该处理普通错误   可选类型和inout NSError参数;你应该解决任何问题   导致断言失败的情况(这似乎是唯一的   通过编写更好的代码来实现Swift中的异常抛出机制。

答案 1 :(得分:0)

我相信,截至今天,Swift并不支持这一点。它很可能会在未来的测试版中添加。