Tag: 错误处理

快速错误处理

根据Apple的说法:错误处理是响应程序错误状态并从错误状态中恢复的过程。 Swift为运行时引发,捕获,传播和操作可恢复错误提供了一流的支持。 我们使用枚举对错误进行建模。 enum需要符合Error协议,这使我们能够将值与每种case相关联,并用于错误处理。 例如,这是我们如何表示失败电话的错误情况: 列举CallError:错误{ 案例号 外壳没有足够的电池电量 } 通过在函数末尾添加throws ,我们可以指定函数可以引发错误。 一旦函数抛出错误,我们就可以catch该错误并使用do-try块进行处理。 根据Apple的说法:要表明函数,方法或初始化程序可能引发错误,请在函数的参数后面的声明中编写throws关键字。 标有throws的函数称为throwing函数 。 如果函数指定了返回类型,则在返回箭头( -> )之前编写throws关键字。 因此,根据该定义以及上面创建的错误,我们创建一个函数来throws func doACall()引发{ 如果lostInTheWoods { 抛出CallError.noSignal }否则,如果batteryNeedsMoreJuice { 抛出CallError.noEnoughBatteryPower } 打印(“所有称职的妈妈”) } 如果在执行调用时我们发现lostInTheWoods或batteryNeedsMoreJuice为true ,则此函数将throw错误。 这基于CallError枚举。 为了捕获和处理CallError.noSignal或CallError.noEnoughBatteryPower我们需要在do-catch块中try 。 做{ 尝试doACall() }捕获CallError.noSignal { 打印(“爬山”) }捕获CallError.noEnoughBatteryPower { 打印(“插入手机”) } 考虑到如果没有错误, catch块将被忽略,您可以通过catch块识别函数抛出的错误。 您可以在此处查看游乐场代码。 资料来源: 错误处理 错误处理简介 我希望您喜欢这篇文章,并且总体上觉得它很有用。 并且不要犹豫,留下反馈或任何问题。 谢谢!