我最近正在使用JSONEncoder.encode()(及其对应的JSONDecoder.decode()),在the documentation中将其标记为throws。不幸的是,文档没有详细介绍此方法何时/如何/将引发什么。有人对此有见识吗?我之所以问是因为我想知道这里的错误是否足够普遍以实现为此目的的面向用户的错误处理。

谢谢

最佳答案

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

您可以在source中看到此内容,并在 EncodingError documentation中阅读有关该错误的更多信息。

关于json - JSONEncoder.encode在Swift中会抛出哪些异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45443790/

10-10 22:51