我最近使用JSONEncoder.encode()
(及其对应的JSONDecoder.decode()
),在the documentation中标记为throws
。不幸的是,文档没有详细说明此方法何时/如何/什么可能抛出。有没有人对此有任何见解?我问,因为我想知道这里的错误是否足以实现面向用户的错误处理。
感谢
答案 0 :(得分:2)
JSONEncoder.encode()
会抛出EncodingError.invalidValue
(例如Double.infinity
如果NonConformingFloatEncodingStrategy
设置为默认值.throw
因为JSON本身不支持无穷大作为数字)。
您可以在source中看到这一点,并详细了解EncodingError
documentation中的错误。