Swift未经检查的异常

时间:2015-07-30 06:47:34

标签: exception swift2

由于我们幸运地有自Swift 2以来的异常,我想知道是否有办法抛出未经检查的异常。有时,使用throw-catch子句包含语句是没有意义的,因为错误仅在非常特定的情况下发生。如果不可能的话,我想知道在Swift中每次都不应该检查的错误是什么好的做法?我应该致电fatalError使程序崩溃,还是应该提出NSException,这显然不是Swifty的做法,因为我甚至无法在纯粹的Swift中找到NSException我认为

感谢您的回答。

1 个答案:

答案 0 :(得分:3)

如果你正在编写一个函数并想表明内部出错(例如前置条件失败),那么fatalErrorpreconditionFailure就是要调用的东西。使用这些与警卫的奖励点:

guard let myPrecondition = myOptionalPrecondition else { preconditionFailure("Precondition should never be optional here!") }

guard somePrecondition else { preconditionFailure() }