美文网首页
13-错误处理

13-错误处理

作者: SwordDevil | 来源:发表于2021-08-06 09:38 被阅读0次

错误类型

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

自定义错误

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()
}

相关文章

网友评论

      本文标题:13-错误处理

      本文链接:https://www.haomeiwen.com/subject/bmzsvltx.html