我正在尝试这样做:
catch LocksmithError.Duplicate, LocksmithError.Allocate {...}
但是我在
,
上收到一个错误说:这是否意味着您不能组合
case expression2, expression3 :
之类的案例?有什么理由这样做吗? 最佳答案
不,目前无法在 catch
子句中组合多个模式 - 语法( as detailed by the Swift Language Guide )只允许匹配单个模式:
另一个可能的解决方案是在绑定(bind)模式之后使用 LocksmithError
子句,只要您的错误枚举是微不足道的( where
似乎是):
catch let error as LocksmithError where error == .Duplicate || error == .Allocate {
// ...
}
关于swift - 是否可以结合捕获?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40135735/