错误处理

  1. 断言
    条件不满足, 会使程序中断,在debug时有效,release版本失效。
    //assert(1>0)
    //assert(1<0, "1 is not bigger than 0")
    //assertionFailure("wrong")

  2. 预置条件
    同断言,预置条件 不满足 会使程序中断 release版本依然有效
    //precondition(1>0)
    //precondition(1>0, "wrong")
    //preconditionFailure(<#T##message: String##String#>)

  3. 容错性
    直接崩溃肯定是不好的,可以尝试去处理错误
    //try? 尝试执行某个方法,失败会返回nil 使用时可以解包使用 无法去处理具体的原因
    //try! 尝试执行某个方法,失败会崩溃

4.对会抛出异常的错误针对性处理,可以使用异常捕获机制
//要处理具体的原因,使用 do catch 对于会throw出异常的一般用这个,一般在所有的catch之后,会默认catch一个未知的错误,这也是苹果推荐的,因为除了想到的错误之外,可能有想不到的错误
//do {
// try <#throwing expression#>
//} catch <#pattern#> {
// <#statements#>
//}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 让我们来看一段有问题的代码: 这个方法的作用是延迟一段时间之后,发送一条消息。其中第一个参数msg是要发送的消息,...
    吴晨阅读 1,527评论 0 1
  • Swift中错误处理机制很丰富,也比较容易掌握,今天就来学习一下swift中的常用错误处理方式. 1. asser...
    流火绯瞳阅读 926评论 0 0
  • 本文翻译自Error Handling in Swift 2.0 Swift主设计师在苹果今年的WWDC上发布Sw...
    Girl_iOS阅读 1,280评论 0 6
  • ▲運動不要找任何藉口! 我們常聽到不運動的藉口: 1. 我沒有時間 這真的很有趣,你一天花多少時間看電視,你看電視...
    爱笑的坏人阅读 263评论 0 1
  • 今日,超级丹占据了所有新闻的头条,他出轨了。开始不愿相信,直到看见他的回应。 从未发布微博的谢杏芳也在微博中说到:...
    大白爱白话阅读 417评论 0 0