当前位置: 首页 > 知识库问答 >
问题:

我如何知道Swift中发生了哪种错误

酆耀
2023-03-14

关于这个问题的答案。对我来说,使用此代码时会发生错误。我想知道从catch块中准确地发生了哪种错误。您应该通过捕捉错误类型来实现这一点,但我在jsonObject文档中没有看到枚举的错误类型

do {
    let json = try JSONSerialization.jsonObject(with: data!) as! Dictionary<String, AnyObject>
    print(json)
} catch {
    print("error") //which error?
}

在swift中有没有一种方法可以做到这一点,或者我如何找到一个对象抛出的异常?

共有1个答案

梁丘烨
2023-03-14

在catch部分中,错误是可用的,所以您可以访问错误对象,而不是您现在正在打印的字符串:

do {
    let json = try JSONSerialization.jsonObject(with: data!) as! Dictionary<String, AnyObject>
    print(json)
} catch {
    print(error)
}
 类似资料:
  • 问题内容: 我将MOXy用作JAXB实现,但不知何故我想在某些管理屏幕上(动态)显示实现名称(例如Moxy)和版本号。 如何从JAXB检索该信息? 干杯 问题答案: 您可以执行以下操作来弄清楚正在使用的JAXB impl: 您可以从其Version类中获取有关正在使用的EclipseLink版本的信息:

  • 本文向大家介绍如何知道MongoDB中使用了哪种存储引擎?,包括了如何知道MongoDB中使用了哪种存储引擎?的使用技巧和注意事项,需要的朋友参考一下 要知道MongoDB中使用了哪种存储引擎,可以使用storageEngine。语法如下- 要了解存储引擎的所有配置详细信息,可以使用以下语法: 让我们实现以上语法,以了解MongoDB中正在使用哪个存储引擎。查询如下- 以下是输出- 为了了解有关上

  • 我是Java新手,我的递归函数中有一个错误,当我将值10传递给它正常运行的函数并将10打印为0时。但当超过11时,它将从-37663(而不是从10开始)中断并打印值,并在-47865和stackOverFlow错误处结束。粘贴下面的代码。 公共类Apna2{ }

  • 但这里我没有显式地使用Actor,尽管它们是在内部使用的。是否存在流/源/汇的生命周期事件?

  • 在我的Jenkins管道中,我通常使用< code>post声明函数向我发送电子邮件,以防管道出现故障。 函数的简单语法如下: 在上面的电子邮件中,我还想提到管道的哪个阶段(假设管道有5到6个阶段)失败了。我该怎么做?任何帮助都非常感谢。 上述要求的扩展将是向用户提供实际的错误日志(失败阶段的错误日志),也作为失败通知电子邮件的一部分。 想法是,当用户收到来自 jenkins 的失败通知时,他应该

  • 我有一个管道Jenkins作业,它按预期工作,配置了“GitHub hook trigger for GITScm polling”选项,以便在任何推送到git存储库时自动构建。 我已经将这个Jenkins URL与多个git回购挂钩,比如< code>repo-A、< code>repo-B、< code>repo-B。< br> Jenkins作业在任何代码推送至这些回购时自动触发。 但是我想