Найти - Пользователи
Полная версия: Отлов ошибок
Начало » Python для новичков » Отлов ошибок
1
VadimK
Посоветуйте, как в консоли лучше всего ошибки отлавливать ?
Есть к примеру код, который при запуске просто ругается в консоли “TypeError: descriptor ‘strftime’ requires a ‘datetime.date’ object but received a ‘str’” .
Как понять в какой строке и в каком файле ? Пока что приходится по ходу кода расставлять различные брекпойнты, что бы определить проблемное место.

Запихивать все функции в try: except: ? Вроде решение не дешевое для процессора

Какие решения оптимальны ?
Budulianin
VadimK
Как понять в какой строке и в каком файле ?
Вообще-то Python сам пишет, в каком файле, в какой строке, какого типа исключение :)
Euler
В python 3 показывается весь стек вызовов.
VadimK
Уточню чуть. Python 2.7.5 . И к примеру вот такая ошибка как в первом сообщении, своих хвостов не показывает, только текст ошибки.
В тоже время если сделать какую нибудь ошибку синтаксиса - то да, будут все данные об ошибке.
cutwater
Могу предположить что Вы где-то уже перехватываете исключение и делаете print excpetion. Естественно стек вызовов при этом не отображается.
FishHook
Или что-то делает это за Вас. Например в Джанге при запуске команд менеджмента информация об ошибке тоже не блещет информативностью, если не запускать с ключом –traceback.
VadimK
Спасибо, действительно оно. Делаю крон на django , и не ожидал, что в консоли не будет информации об ошибке. На страницах то она есть полная.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB