JSONEncoder.encode在Swift中抛出了什么异常?

时间:2017-08-01 17:03:06

标签: json swift encoding error-handling

我最近使用JSONEncoder.encode()(及其对应的JSONDecoder.decode()),在the documentation中标记为throws。不幸的是,文档没有详细说明此方法何时/如何/什么可能抛出。有没有人对此有任何见解?我问,因为我想知道这里的错误是否足以实现面向用户的错误处理。

感谢

1 个答案:

答案 0 :(得分:2)

当您要编码的其中一个值无效时,

JSONEncoder.encode()会抛出EncodingError.invalidValue(例如Double.infinity如果NonConformingFloatEncodingStrategy设置为默认值.throw因为JSON本身不支持无穷大作为数字)。

您可以在source中看到这一点,并详细了解EncodingError documentation中的错误。