Bu neden çalışmıyor?Neden istisna mesajında bilgi eklemek için çalışmıyor?
try:
1/0
except ZeroDivisionError as e:
e.message += ', you fool!'
raise
Değiştirilen mesaj istisna örneğinde kalmasına rağmen kullanılmaz. Yukarıdakiler için bir çalışma modeli var mı?
Ben python3 içinde exception chaining farkındayımtry:
1/0
except ZeroDivisionError as e:
args = e.args
if not args:
arg0 = ''
else:
arg0 = args[0]
arg0 += ', you fool!'
e.args = (arg0,) + args[1:]
raise
, bu güzel görünüyor ama ne yazık ki python2 çalışmaz: Davranış aşağıda benim şimdiki çözüm gibi olmalıdır. Öyleyse python2'deki bir istisnayı yeniden gündeme getirme alışkanlığı nedir?
Not: Çünkü here belirtilen uyarı ve uyarılar, yeni bir istisna Traceback kazıp ve yaratmak istemiyorum ziyade mevcut istisna örneğini yeniden yükseltmek.