转载:http://www.cocoachina.com/swift/20150619/12186.html
在 iOS 开发当中,我们会面对很多异常处理。在 Cocoa Touch 中我们使用 NSError 来进行异常处理。在新的 Swift 2.0 中,我们可以使用新的 ErrorType protocol。
在 Swift 中, enum 是最好的方法建立属于你自己的异常类型,你只要在你的 enum 中确认新的 ErrorType。
1
2
3
4
|
enumMyError:ErrorType{
case
NotExist
OutOfRange
}
|
如何抛出异常
在抛出异常之前,我们需要在函数或方法的返回箭头 -> 前使用 throws 来标明将会抛出异常
funcmyMethodRetrunString()throws->String
//Noreturn,wecanjustaddthrowsintheend
funcmyMethodRetrunNothing()throws
|
声明之后, 我们需要在函数或者方法里扔出异常,很简单使用throw 就可以了
funcmyMethod()throws
//...
//itemisanoptionalvalue
guardletitem=item
else
{
//needthrowstheerrorout
throw
MyError.NotExist
}
//dowithitem
上面这段代码使用了 guard 来进行unwrap optional value。这是 Swift 2.0 提供的一个新的方法。
|