- 很多编程语言都有断言机制:不符合指定条件就抛出运行时异常,常用于
debug
调试阶段的条件判断 - 默认情况下,
swfit
的断言只会在debug
模式下生效,release
模式下会自动忽略
func divide(_ v1: Int, _ v2: Int) -> Int {
assert(v2 != 0, "除数不能为0")
return v1 / v2
}
divide(20, 2) // 10
divide(20, 0) // Assertion failed: 除数不能为0
如果希望release
模式跟发布之后断言也能生效,可以在项目里设置编译标记:
-
-assert-config Release
: 强制关闭断言 -
-assert-config Debug
: 强制开启断言
网友评论