在 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