博客> Swift 4.0 中的错误处理及抛出错误
Swift 4.0 中的错误处理及抛出错误
2018-11-14 10:04 评论:0 阅读:191 yao7778899
swift4.0 错误处理 自定义错误

在Swift的标准库,很多方法名后都带有'throws'这个关键词, 'throws'表示该方法在执行过程中遇到错误则抛出,但不会crash。

下面是Swift标准库中的一个构造方法,String、Data都有该构造方法

 public init(contentsOf url: URL) throws

当我们通过该方法去构造一个实例时怎么去捕获抛出的错误呢(如果有错误)?

捕获错误

在Swift中是通过 do{}catch{} 去捕获错误, 如下

 do {
           let data = try Data(contentsOf: URL(string: "path")!)
           print(data)
        }
        catch {
            print(error)
        }

do{} 遇到错误即可中止,不会继续执行后面代码

自定义错误

     enum registerError: Error {
           case invalidAccount
           case invalidPassword
           case otherError(description: String)
        }

     func register(account: String, pwd: String) throws {
            guard account.characters.count>6 && account.characters.count<16>7 && pwd.characters.count&lt;18 else {

                throw registerError.invalidAccount
            }

            // do something
        }

这样自定义错误和使用就完成了。

更多更详细教程请访问个人站点: 码出一个长城

收藏
0
sina weixin mail 回到顶部