gpt4 book ai didi

swift - 抛出函数不会退出执行函数

转载 作者:行者123 更新时间:2023-12-03 09:03:16 26 4
gpt4 key购买 nike

我有以下函数引发:

func doSomething(_ myArray: [Int]) throws -> Int {

if myArray.count == 0 {
throw arrayErrors.empty
}
return myArray[0]
}

但是,当数组等于0时,将引发错误,但将继续执行返回空数组的函数。

转到if语句时如何退出函数?

最佳答案

您需要了解错误处理。如果插入throws关键字,则调用该关键字的任何人都需要使用do-catch语句try?try!或继续传播它们。因此,如果引发错误,将由调用者决定。

这是一个例子:

do {
try doSomething(foo)
} catch arrayErrors.empty {
fatalError("Array is empty!")
}

Apple的 error handling文档

如果您想在到达 if后退出,只需不要使用错误处理并在if中调用 fatalError即可。
if myArray.count = 0 {
fatalError("Error happened")
}

关于swift - 抛出函数不会退出执行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42450126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com