4 HAZİRAN 2011, CUMARTESİ
Günlük Python özel durum yakalanmamış
Nasıl stderr
logging
modülü ile çıkış yerine yakalanmamış istisna neden?
Bunu yapmak için en iyi yol olacağını fark ettim:
try:
raise Exception, 'Throwing a boring exception'
except Exception, e:
logging.exception(e)
Ama benim durum olurdugerçekten güzellogging.exception(...)
bir özel durum yakalandı değil zaman otomatik olarak çağrılır.
CEVAP
4 HAZİRAN 2011, CUMARTESİ
Ned belirttiği gibi, sys.excepthook
Her zaman çağrılan bir özel durum oluşturuldu ve yakalanmamış. Bunun pratik anlamı kodunuzu isterseniz sys.excepthook
varsayılan davranış (logging.exception
kullanma da dahil olmak üzere) geçersiz kılabilirsiniz.
Saman adam bir örnek olarak:
>>> import sys
>>> def foo(exctype, value, tb):
... print 'My Error Information'
... print 'Type:', exctype
... print 'Value:', value
... print 'Traceback:', tb
...
sys.excepthook
geçersiz kılma:
>>> sys.excepthook = foo
Açık sözdizimi hatası (kolon terk etmek ve özel hata bilgileri geri almak:
>>> def bar(a, b)
My Error Information
Type: <type 'exceptions.SyntaxError'>
Value: invalid syntax (<stdin>, line 1)
Traceback: None
sys.excepthook
hakkında daha fazla bilgi için: http://docs.python.org/library/sys.html#sys.excepthook
Bunu Paylaş:
günlük python özel durum...
Python: HERHANGİ bir özel durum yakala...
Bir iş parçacığı'arayan iş parçac...
Küresel yakalanmamış özel durum ayarla...
&; İç özel durum" (traceback) Pyt...