2016-12-24 3 views
0

Я отлаживал свой скрипт python и наткнулся на объект traceback, который присутствует во втором индексе в результате, возвращенном функцией sys.exc_info(). Тем не менее, я попытался вывести информацию, связанную с объектом traceback, но везде я получил ссылку на traceback module в стандартной папке python. Затем я попытался сделать dir() на объекте traceback, который дает мне список атрибутов. В этом списке, следующие атрибуты выглядит интересно: -Объекты Traceback в python

1. tb_frame, 
2. tb_lasti, 
3. tb_lineno, 
4. tb_next 

Я знаю о tb_frame и tb_lineno, но то, что остальная часть других атрибутов указывает?

Извиняется за плохой английский. Заранее спасибо.

+1

Прочитайте документацию: https://docs.python.org/3/library/inspect.html?highlight=tb_ – vaultah

+0

Также [это] (https://docs.python.org/3/reference/datamodel. html? highlight = tb_) page – vaultah

ответ

1

Как указано в docpage указанной @vaultah,

Это все специальные атрибуты только для чтения. 1. tb_next - следующий уровень в трассировке стека (к кадру, в котором произошло исключение) или None, если нет следующего уровня; 2. tb_frame указывает на кадр выполнения текущего уровня; 3. tb_lineno указывает номер строки, в которой произошло исключение; 4. tb_lasti указывает точную инструкцию.

Примечание: - Номер строки и последняя команда в TRACEBACK могут отличаться от номера строки своего объекта кадра, если исключение произошло в Ьге заявлении, без согласования, за исключением пункта или с окончательно п.

Смежные вопросы