gpt4 book ai didi

ios - Swift Result Type 可以返回动态错误信息吗?

转载 作者:行者123 更新时间:2023-12-05 01:12:00 25 4
gpt4 key购买 nike

当我在 Swift 中使用 Result 类型时,我必须事先定义错误枚举。

enum AppError: String, Error {
case error1 = "Error One."
case error2 = "Error Two."
}

到目前为止一切顺利,我可以列举出我的应用程序或函数可能引发的所有可能错误。但是,我有可能想要返回动态错误消息,例如从网络返回的错误消息。我找不到使用 Result 类型返回动态错误消息的方法。我不确定这是否可能。

更新:

原来我根本不需要使用枚举。我只需要定义一个实现 Error 的类。

我是这样工作的:

class AppError: Error {
var message: String
init(_ message: String) {
self.message=message;
}
}

并创建这样的错误:

completion(.failure(AppError("Invalid URL.")))

然后返回这样的错误消息:

error.message

最佳答案

你可以定义你的错误类型来接受一个你可以在运行时设置的字符串参数

enum AppError: Error {
case decodingError(String)
case networkError(String)
}

关于ios - Swift Result Type 可以返回动态错误信息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62512899/

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