Python 捕获特定子异常

Python 捕获特定子异常,python,exception,Python,Exception,我有一些代码可以解析可能是或可能不是有效的JSON字符串。我想在except子句中捕获此异常: ValueError: Extra data: line 1 column 1 - line 1 column 19 (char 1 - 19) 但不是这个例外: ValueError: Expecting : delimiter: line 1 column 3 (char 3) 我是否会将其编码为此的变体: try: json.loads(user_sting) except Valu

我有一些代码可以解析可能是或可能不是有效的JSON字符串。我想在
except
子句中捕获此异常:

ValueError: Extra data: line 1 column 1 - line 1 column 19 (char 1 - 19)
但不是这个例外:

ValueError: Expecting : delimiter: line 1 column 3 (char 3)
我是否会将其编码为此的变体:

try:
    json.loads(user_sting)
except ValueError as e:
    # How to parse 'e' now?
    handle_error(e)
try:
    json.loads(user_sting)
except ValueError['Extra data'] as e:
    handle_error(e)
或者作为这一点的变体:

try:
    json.loads(user_sting)
except ValueError as e:
    # How to parse 'e' now?
    handle_error(e)
try:
    json.loads(user_sting)
except ValueError['Extra data'] as e:
    handle_error(e)

我所做的区别在于两个
字符之间的“额外数据”或“预期”字符串。我确实认为我可以使用第一个带有正则表达式的方法来解析
str(e)
,但是如果有更直接的方法,那么我想知道。作为Python,我怀疑有

使用
e.args
代替
str(e)


我想,除了ValueError['Extra data'].

使用
e.args
而不是
str(e)
,没有像
这样的语法:


嗯,除了ValueError['Extra data'].

什么是
ValueError['Extra data'].
应该是什么意思?什么是
ValueError['Extra data'].
应该是什么意思?谢谢你,这正好回答了我的疑问。也谢谢你给我的codez!谢谢,这正好回答了我的怀疑。也谢谢你给我的codez!