场景
同样的一套代码,在别人电脑上能跑,能用JSONDecodeError
来catch,而在自己电脑上就无法捕捉导致代码跑不了。
让人感到迷惑的地方是,这套代码以前在自己电脑上也能跑,突然就报出了这个错误orz,都不敢让人相信是环境问题,我至今也没搞懂为啥。。
直接原因:
在自己电脑抛出的是simplejson.error.JSONDecodeError
异常,需要 from simplejson import JSONDecodeError
,用simplejson
的JSONDecodeError
来捕捉。
而在别人电脑上抛出的是json.error.JSONDecodeError
异常,可以用json
的JSONDecodeError
来捕捉。
解决方法
- 第一种:将
from json import JSONDecodeError
改为from simplejson import JSONDecodeError
,个人不喜欢这种因为需要改动代码。 - 第二种:卸载simplejson,经亲身实践,卸载之后抛出的异常就会从
simplejson.error.JSONDecodeError
异常变为json.error.JSONDecodeError
异常。
那么为啥当simplejson存在的时候抛出的异常会变成 simplejson.error.JSONDecodeError
捏!!!!