在 Swift 中, enum 是最好的方法建立属于你自己的异常类型,你只要在你的 enum 中确认新的 ErrorType。
enum MyError: ErrorType {}
如何抛出异常
在抛出异常之前,我们需要在函数或方法的返回箭头 -> 前使用 throws 来标明将会抛出异常
func myMethodRetrunNothing() throws
func myMethodRetrunString() throws -> String
override func viewDidLoad() {
super.viewDidLoad()
try! myMethodRetrunString()
}
enum MyError: ErrorType {
case NotExist
case OutOfRange
}
func myMethodRetrunString() throws -> String{
var a = 10
if(a==5){
throw MyError.OutOfRange
}
return ""
}
不处理异常
try! myMethodRetrunString()
一个大包来处理异常。不管遇到哪类问题都抛出异常
do{
try myMethodRetrunString()
}catch{
print("遇到一个错误");
}
捕获特定错误比如我们认为超过5 就越界了。
do{
try myMethodRetrunString()
}catch MyError.OutOfRange{
print("遇到一个边界错误");
}catch{
}
http://www.jianshu.com/p/96a7db3fde00