gpt4 book ai didi

swift - 将 String 类型转换为 Error 是不可预测的

转载 作者:行者123 更新时间:2023-11-28 13:40:44 27 4
gpt4 key购买 nike

这个我很奇怪。在我正在处理的项目中,我有以下代码

让 stuff = "stuff"为 Error

这似乎编译没有任何问题,但对我来说看起来有点奇怪。

我创建了一个具有相同 swift 版本 (4.2) 的空项目。在这个测试项目中,同一行给了我

'String' is not convertible to 'Error'; did you mean to use 'as!' to force downcast?

这正是我一开始所期望的。这让我相信代码可以在原始项目中编译,因为某些依赖项正在发挥某种魔力,所以将所有依赖项添加到我的测试项目中,但这没有任何改变 - 它仍然无法编译。

我正在努力思考这里发生的事情,但我被困住了,需要你的帮助来弄清楚。它可能是某种编译器标志吗?或者是否有依赖项对 as 关键字产生某种魔力?我怎样才能弄清楚这里发生了什么?

最佳答案

您应该在新项目中添加以下代码。

extension String: Error {}

它允许将字符串作为错误抛出

func someFunction() throws {
throw "some message"
}
do {
try someFunction()
} catch let errorMessage {
print(errorMessage)
}

关于swift - 将 String 类型转换为 Error 是不可预测的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56074655/

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