Python'da yaygın bir model, bir giriş modülünde bir hatayı yakalamak ve bu hatayı daha yararlı bir şey olarak yeniden yükseltmektir.Python'da iç içe geçmiş veya yeniden yükseltilmiş istisnalara erişmenin bir yolu var mı?
try:
config_file = open('config.ini', 'r')
except IOError:
raise ConfigError('Give me my config, user!')
Bu formda
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
__main__.ConfigError: Give me my config, user!
bu gibi daha fazla bir yığın izleme üretmek için sarılmış durum erişmek için herhangi bir şekilde var bir yığın izleme oluşturur?
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
__builtin__.IOError: File Does not exist.
Exception wrapped by:
File "<stdin>", line 4, in <module>
__main__.ConfigError: Give me my config, user!
DÜZENLEME:
i yenilgiye çalışıyorum sorun bazı 3. parti kodu ı temel nedenini belirlemek için mümkün istiyorum 3 defaya kadar istisnalar sarın ve olmasıdır, yani genel bir yolu istisna yığınını denetlemek ve 3. taraf modüllere herhangi bir ekstra kod eklemeniz gerekmeden bir istisnanın temel nedenini belirlemek.
sys.last_traceback yardımı yapmıyor mu? –
da belki [python traceback modülü] 'ne bakabilirsiniz (http://docs.python.org/library/traceback.html?highlight=traceback) –
Üzgünüm, bu can sıkıcı sorulardan biri, ama ... neden? – senderle