gpt4 book ai didi

swift - 我有抛出错误的错误吗?我应该怎么办?

转载 作者:行者123 更新时间:2023-11-30 10:33:05 25 4
gpt4 key购买 nike

我最近尝试运行此代码

extension String: Error {} //string isn't throw-able by default 

func throwingFunction() throws { //this function always throws on call. So far so good
throw "error"
}

switch try throwingFunction() {
case "error": print("It works!") //but it doesn't
default: break
}

错误是“String”类型的表达式模式无法匹配“()”类型的值这个函数不应该返回原始字符串吗?难道我做错了什么?请帮忙。

最佳答案

throwingFunction() 如果没有抛出错误,则返回 Void 又名 ()。您无法打开 Void

因此,您需要尝试执行该函数并捕获错误,然后您可以打开错误本身。

do {
try throwingFunction()
} catch {
switch error as! String { // Since you know the error type, It's perfectly safe to force unwrap
case "error": print("It works!")
default: break
}
}

关于swift - 我有抛出错误的错误吗?我应该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58675226/

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