断言
条件不满足, 会使程序中断,在debug时有效,release版本失效。
//assert(1>0)
//assert(1<0, "1 is not bigger than 0")
//assertionFailure("wrong")预置条件
同断言,预置条件 不满足 会使程序中断 release版本依然有效
//precondition(1>0)
//precondition(1>0, "wrong")
//preconditionFailure(<#T##message: String##String#>)容错性
直接崩溃肯定是不好的,可以尝试去处理错误
//try? 尝试执行某个方法,失败会返回nil 使用时可以解包使用 无法去处理具体的原因
//try! 尝试执行某个方法,失败会崩溃
4.对会抛出异常的错误针对性处理,可以使用异常捕获机制
//要处理具体的原因,使用 do catch 对于会throw出异常的一般用这个,一般在所有的catch之后,会默认catch一个未知的错误,这也是苹果推荐的,因为除了想到的错误之外,可能有想不到的错误
//do {
// try <#throwing expression#>
//} catch <#pattern#> {
// <#statements#>
//}