在 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