Domanda

Is there a way to get the key that raised a KeyError?

or in general, where can I find (if available) properties of an Exception?

È stato utile?

Soluzione

Exceptions have a .args attribute which is a tuple; for a KeyError exception that tuple contains the key that triggered the exception:

>>> try:
...     {}['foo']
... except KeyError as ex:
...     print(ex.args[0])
... 
foo

Altri suggerimenti

Script:

d = dict(a=1)
try:
    d['b']
except KeyError as e:
    print e

Output:

'b'
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top