سؤال

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?

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

Script:

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

Output:

'b'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top