Saya tahu bahwa jika saya ingin memunculkan kembali pengecualian, saya menggunakan sederhana raisetanpa argumen di exceptblok masing-masing . Tapi diberi ekspresi bersarang seperti
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
bagaimana cara menaikkan kembali SomeErrortanpa merusak jejak tumpukan? raisesendiri akan dalam hal ini mengangkat kembali yang lebih baru AlsoFailsError. Atau bagaimana saya dapat mengubah kode saya untuk menghindari masalah ini?
plan_Bfungsi lain yang mengembalikanTruekesuksesan, danFalsepengecualian? Makaexceptblok luar mungkin sajaif not try_plan_B(): raise