swift异常处理


在 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

如果你是一名技术人员可加我QQ 2651-0442-02,如果你是java技术人还可以加入QQ群 1784-9136-0
你将得到的不仅仅是技术的交流,还有职业机会,人生解惑.
首发地址:月小升博客http://java-er.com/blog/swift-try-catch/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
此条目发表在 Xcode 分类目录,贴了 , , 标签。将固定链接加入收藏夹。
既然来了,就评论一下,不会怀孕的

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">