【问题标题】:Swift2 - How does one determine type of thrown error?Swift2 - 如何确定抛出错误的类型?
【发布时间】:2016-01-07 09:19:21
【问题描述】:

我想知道如何知道函数会抛出什么类型的错误?

例如,我看到 Apple 的函数抛出错误,但我不知道在 catch 后面放什么,因为我看不到错误的类型。

我正在尝试打印某种用户错误信息或任何其他描述。

【问题讨论】:

  • 您可以捕获所有内容并稍后进行排序,请在此处查看详细信息bignerdranch.com/blog/error-handling-in-swift-2
  • 答案可能是简单地阅读您有兴趣捕获其错误的方法的文档。
  • @nhgrif 文档是问题所在。我已经搜索过它,方法只是标记为throws

标签: ios swift error-handling runtime-error swift2


【解决方案1】:

在文档here 中。模式匹配是简短的答案。这很好,因为除了捕获特定类型之外,您还可以做一些非常有趣的事情。

【讨论】:

  • 我读过。它没有回答我的问题。因为在他们的示例中,他们知道VendingMachineError 的类型。
  • 如果您想将类型视为方法签名的一部分,是的,您是对的,这在 Swift 中没有完成。但是在这里问一个问题会如何改变这种情况。
  • 答案是抛出错误的人应该是错误类型协议的实现者。他们应该记录下来。最简单的机制是使用 Enum,它允许与 catch 子句中的情况进行简单的模式匹配。
猜你喜欢
  • 2018-11-10
  • 2020-02-11
  • 1970-01-01
  • 2015-05-03
  • 2012-04-14
  • 1970-01-01
  • 2017-01-08
  • 2020-10-21
  • 2019-01-03
相关资源
最近更新 更多