13-错误处理

错误类型

  • 开发过程常见的错误
    语法错误(编译报错)
    逻辑错误
    运行时错误(可能会导致闪退,一般也叫做异常)
    ......

自定义错误

do-catch

处理Error

try? 、try!

rethrows

defer

assert(断言)

  • 很多编程语言都有断言机制:不符合指定条件就抛出运行时错误,常用于调试(Debug)阶段的条件判断
  • 默认情况下,Swift的断言只会在Debug模式下生效,Release模式下会忽略
func divide(_ v1: Int, _ v2: Int) -> Int {
    assert(v2 != 0, "除数不能为0")
    return v1 / v2
}
print(divide(20, 0))
  • 增加Swift Flags修改断言的默认行为
    -assert-config Release:强制关闭断言
    -assert-config Debug:强制开启断言

fatalError

局部作用域

  • 可以使用do 实现局部作用域
do {
    let dog1 = Dog()
    dog1.age = 10
    dog1.run()
}
do {
    let dog2 = Dog()
    dog2.age = 10
    dog2.run()
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 错误的类型 开发过程中常见的错误:语法错误(编译报错)逻辑错误(一般跟业务相关)运行时错误(可能会导致闪退,一般也...
    Jax_YD阅读 4,294评论 0 3
  • 一、开发过程中常见的错误 语法错误(编译报错) 逻辑错误 运行时错误(可能会导致闪退) ... 二、自定义错误 S...
    alfei13阅读 3,255评论 0 1
  • 一、错误处理 1.1、错误类型语法错误(编译报错)逻辑错误运行时错误(可能会导致闪退,一般也叫做异常) 1.2、自...
    IIronMan阅读 3,831评论 0 3
  • 错误处理也就是异常处理 错误类型 开发过程常见的错误 语法错误(编译报错) 逻辑错误 运行时错误(可能会导致闪退,...
    codeTao阅读 1,139评论 0 1
  • 一. 错误处理 开发中常见的错误: 语法错误(编译时会报错) 逻辑错误 运行时错误(可能会导致闪退,一般也叫做异常...
    Imkata阅读 4,256评论 0 0

友情链接更多精彩内容