Еще про исключения:
repr(e) -- это, конечно хорошо, но ведь есть ещё лучше, а именно:
from traceback import print_exc
...
my_dict = {}
try:
b = my_dict["bad"]
except Exception as e:
print_exc()
что выведет:
Traceback (most recent call last):
File "<pyshell#1>", line 2, in <module>
KeyError: 'bad'
и при этом программа продолжит свою работу. А если ошибку надо выводить не в stdout, то можно сделать так:
from traceback import print_exc
from io import StringIO
...
try:
b = my_dict["bad"]
except Exception:
buffer = StringIO()
print_exc(file=buffer)
out_var = buffer.getvalue()
992 · СообщениеЕще про исключения:
18 мая 2023Рядом в ленте
Pэто сообщение
P