JSONEncoder.encode 在 Swift 中抛出哪些异常?

Bla*_*olf 6 error-handling encoding json swift

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

谢谢

Ita*_*ber 6

JSONEncoder.encode()EncodingError.invalidValue当您要编码的值之一无效时抛出(例如,Double.infinity如果NonConformingFloatEncodingStrategy设置为 default .throw,因为 JSON 本身不支持无穷大作为数字)。

您可以在源代码中看到这一点,并在EncodingError文档中阅读有关错误的更多信息。