Swift 如何从错误对象中识别错误类型

Swift 如何从错误对象中识别错误类型,swift,exception,enums,Swift,Exception,Enums,结果中的.failed(let e)条件返回SDKError enum下的自定义异常列表。在UI方面,我必须实现不同类型故障的逻辑。如何从对象中识别错误类型 case.failed(设e为!sdkeror): 案例。失败(设e): e、 本地化描述 //UI端实现 SDK.getInstance.fetchItems(){(结果)在 切换结果{ 成功案例(let项目): self.item=项目 案例。失败(设e): 打印(“错误=\(e)”) } } //SDK部件 //来自闭包的响应类型 公

结果中的.failed(let e)条件返回SDKError enum下的自定义异常列表。在UI方面,我必须实现不同类型故障的逻辑。如何从对象中识别错误类型

case.failed(设e为!sdkeror):

案例。失败(设e): e、 本地化描述

//UI端实现
SDK.getInstance.fetchItems(){(结果)在
切换结果{
成功案例(let项目):
self.item=项目
案例。失败(设e):
打印(“错误=\(e)”)
}
}
//SDK部件
//来自闭包的响应类型
公共枚举结果模型{
成功案例(T)
案例失败(E)
var isSuccess:Bool{
如果成功(u)=自我{
返回真值
}
返回错误
}
isvar失败:Bool{
如果case.failed(u)=self{
返回真值
}
返回错误
}
}
//SDK部件
//不同异常的枚举类
公共枚举SDKError:错误{
案例不可接受状态代码(Int)
案例未预期响应(任何)
案例无效(任何)
案例无效数据(任何)
案例强制密码重置(任何)
发现案例NullDataFound(任何)
案例响应(任何)
}

您可以将错误类型调度
开关
嵌套在另一个
开关
中,该开关区分成功与错误状态:

switch result {
case let .failed(error):
  switch error {
  case let SDKError.UnacceptableStatusCode(code): // ...
  // other cases go here
  }
case let .success(value):
  // success handling goes here
}

尝试
切换e{case let sdkeror.UnacceptableStatusCode(code):
尝试过,但由于结果属于上述类型'ResultModel'
枚举case'UnacceptableStatusCode'不是'ResultModel'类型的成员
您的
e
变量是什么类型?打印什么(“错误=\(e)”打印?错误=无效数据(编码键)(stringValue:“item1”,intValue:nil))这是我创建的类型错误
switch result {
case let .failed(error):
  switch error {
  case let SDKError.UnacceptableStatusCode(code): // ...
  // other cases go here
  }
case let .success(value):
  // success handling goes here
}