Форум сайта python.su
Посоветуйте, как в консоли лучше всего ошибки отлавливать ?
Есть к примеру код, который при запуске просто ругается в консоли “TypeError: descriptor ‘strftime’ requires a ‘datetime.date’ object but received a ‘str’” .
Как понять в какой строке и в каком файле ? Пока что приходится по ходу кода расставлять различные брекпойнты, что бы определить проблемное место.
Запихивать все функции в try: except: ? Вроде решение не дешевое для процессора
Какие решения оптимальны ?
Офлайн
VadimKВообще-то Python сам пишет, в каком файле, в какой строке, какого типа исключение :)
Как понять в какой строке и в каком файле ?
Офлайн
В python 3 показывается весь стек вызовов.
Офлайн
Уточню чуть. Python 2.7.5 . И к примеру вот такая ошибка как в первом сообщении, своих хвостов не показывает, только текст ошибки.
В тоже время если сделать какую нибудь ошибку синтаксиса - то да, будут все данные об ошибке.
Офлайн
Могу предположить что Вы где-то уже перехватываете исключение и делаете print excpetion. Естественно стек вызовов при этом не отображается.
Офлайн
Или что-то делает это за Вас. Например в Джанге при запуске команд менеджмента информация об ошибке тоже не блещет информативностью, если не запускать с ключом –traceback.
Офлайн
Спасибо, действительно оно. Делаю крон на django , и не ожидал, что в консоли не будет информации об ошибке. На страницах то она есть полная.
Офлайн