Bir istisnayı yeniden yükseltmek istersem raise
, ilgili except
blokta bağımsız değişkenler olmadan basit kullanım yapacağımı biliyorum . Ama iç içe geçmiş bir ifade verildiğinde
try:
something()
except SomeError as e:
try:
plan_B()
except AlsoFailsError:
raise e # I'd like to raise the SomeError as if plan_B()
# didn't raise the AlsoFailsError
SomeError
yığın izini bozmadan nasıl yeniden yükseltebilirim ? raise
tek başına bu durumda daha yeni olanı yeniden yükseltecekti AlsoFailsError
. Veya bu sorunu önlemek için kodumu nasıl yeniden düzenleyebilirim?
plan_B
geri dönen başka bir işlev koymayı denediniz mi? Sonra dış blok sadece olabilirTrue
False
except
if not try_plan_B(): raise