【发布时间】:2019-12-22 08:06:51
【问题描述】:
我的错误是这样写的:
public enum ParseError: LocalizedError {
case badURL(_ urlString: String)
public var errorDescription: String? {
switch self {
case .badURL:
return String.invalidURL
}
}
}
由于我只有一种情况,我不在乎在调用代码中创建多个模式:
do {
let url = try urlString.constructURL()
UIApplication.shared.open(url)
} catch {
Alert().showError(error.errorDescription, subTitle: urlString) // trying to get the associated value here
}
我想做这样的事情:
catch let error = error as ParseError(let urlString)
但显然,这是不可能的。如何在语句中获取枚举本身的值及其关联值?
【问题讨论】:
标签: swift error-handling enums try-catch