1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| 在 Swift 中,自定义错误通常是通过定义一个遵守 Error 协议的枚举类型来实现的。 这样可以确保你的错误类型符合 Swift 的错误处理规范,并且可以方便地与 do-catch 语句进行配合使用。
以下是一个示例,演示了如何定义一个遵守 Error 协议的自定义错误枚举类型:
enum CustomError: Error { case fileNotFound case networkError(message: String) case invalidData } 在这个示例中,我们定义了一个名为 CustomError 的枚举类型,并让它遵守 Error 协议。 枚举中包含了一些代表不同错误情况的 case。 这样,我们就得到了一个自定义的错误类型,可以在程序中使用了。
使用这个自定义错误类型时,可以像处理 Swift 标准库中的错误类型一样来处理:
func fetchData() throws { // 模拟抛出一个自定义错误 throw CustomError.networkError(message: "Network connection lost") }
do { try fetchData() } catch CustomError.fileNotFound { print("File not found error occurred") } catch CustomError.networkError(let message) { print("Network error occurred: \(message)") } catch CustomError.invalidData { print("Invalid data error occurred") } catch { print("An error occurred: \(error)") }
在这个示例中,我们定义了一个 fetchData() 函数,它会抛出一个自定义的错误。 在 do-catch 语句中,我们捕获了可能抛出的不同类型的错误,并根据错误类型进行相应的处理。
|