Найти - Пользователи
Полная версия: исключение
Начало » Python для экспертов » исключение
1
bumbaras
как можно узнать какое сработало исключение и что за ошибка при таком виде:

try:
…..
except:
….
ofigetitelno
%)
почитай про traceback (standard module)
там даже примеры есть… :)
j2a
Ну совсем не стоит так делать. Если уж ловить исключение, то конкретное, а не все подряд.
slav0nic
sys.exc_info смотри, например:

import sys
try:
x = 1/0
except:
print sys.exc_info()



там ещё какая-та рпеременна была интересная в этом плане
и читай Python Tutorial глава “8. Errors and Exceptions ”
slivlen
Согласен с j2a. Надо на каждое специфическое исключение, которое требуется обработать, назначать свой обработчик. Н-р так:
h=[1, 2]
try:
  c=h[3]
except KeyboardInterrupt, e:
  print e
except IndexError, e:
  print e
except:
  print 'Unknown exception'
В данном случае сработает IndexError.
bumbaras
Спасибо всем, что откликнулись :) согласен, что нужно ловить и обрабатывать нужные исключения, а все остальные пускать на Unknown и если чего то через debug :)
Еще раз всем огромное спасибо !!!
j2a
Об исключениях советую прочитать http://softwaremaniacs.org/blog/2005/05/15/exceptions/
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