Я использую следующий код:Получить более подробную возвращение ошибки TrackBack (ошибка + данные)
import traceback
errors = open('ERROR(S).txt', 'a')
try:
execfile("testing.py", {})
except Exception:
errors.write(traceback.format_exc() + '\n')
errors.write("\n")
errors.close()
Например, я мог бы получить
Traceback (most recent call last):
File "C:\starter.py", line 87, in execute_subscripts
execfile("test.py", {})
File "test.py", line 85, in <module>
JSONDATA = json.loads(JSONDATA)
File "C:\Python27\lib\json\__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 383, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Как я могу также сделать его извлечения данные внутри переменной JSONDATA
, а также эту трассировку?
Подробнее о библиотеке 'logging' можно прочитать здесь: http://docs.python.org/2/library/logging.html –
'logger.exception()' также регистрирует полную трассировку. –
@ChirilaAlexandru Не знаете, как реализовать это в моем фактическом коде ... Я хочу, чтобы данные json регистрировались, если возникает ошибка, если не нужно ее регистрировать. – Ryflex