Swift5.1语法学习

一、(1.3) 错误处理 断言与先决条件

2019-12-30  本文已影响0人  爱玩游戏的iOS菜鸟

错误处理

  1. 使用错误处理响应程序在执行期间可能遇到的错误情况。
  2. 当函数遇到错误条件时,它会抛出错误。 然后该函数的调用者可以捕获错误并做出适当的响应
  3. 函数表明它可以通过在其声明中包含throws关键字来引发错误。 当您调用可以抛出错误的函数时,请将try关键字添加到表达式中。
  4. 自动将错误传播出当前作用域,直到它们被catch子句处理。
    错误处理示例

如果没有抛出错误,则调用eatASandwich()函数。 如果抛出错误并且它与SandwichError.outOfCleanDishes大小写匹配,则将调用washDishes()函数。 如果抛出错误并且它与SandwichError.missingIngredients情况匹配,则调用buyGroceries(_ :)函数,并使用catch模式捕获的关联[String]值。

断言和先决条件

let age = 71

assert(age < 70, "你已经老啦")//Assertion failed: 你已经老啦

if age > 10 && age <= 16{
    print("你可以骑自行车了")
}else if age > 16 && age <= 18{
    print("你可以去网吧了")
}else if age > 16 && age <= 70{
    print("你可以去开车了")
}else{
    assertionFailure("你的年龄不能低于0")
}

只要条件可能为false,就使用前置条件,但对于代码继续执行必须确实为真。 例如,使用前置条件检查下标是否超出范围,或检查函数是否已传递有效值。

let age = 9

precondition(age < 70, "你已经老啦")

if age > 10 && age <= 16{
    print("你可以骑自行车了")
}else if age > 16 && age <= 18{
    print("你可以去网吧了")
}else if age > 16 && age <= 70{
    print("你可以去开车了")
}else{
    preconditionFailure("你的年龄不能低于10 什么也不能干")//Fatal error: 你的年龄不能低于10 什么也不能干
}

Swift学习日记1.3

上一篇下一篇

猜你喜欢

热点阅读