Apabila mengendalikan pengecualian dalam Python, anda mungkin menghadapi situasi di mana anda ingin menangkap dan mencetak jejak balik penuh tanpa mengganggu aliran program. Blok kecuali lalai hanya menyediakan objek pengecualian, yang tidak termasuk jejak balik terperinci yang biasanya dipaparkan apabila pengecualian dinaikkan.
Untuk mendapatkan yang lengkap traceback, anda boleh menggunakan fungsi traceback.format_exc(), yang menjana rentetan terformat yang mewakili surih tindanan semasa pengecualian.
import traceback def do_stuff(): raise Exception("test exception") try: do_stuff() except Exception: print(traceback.format_exc())
Kod ini akan menghasilkan output berikut, mencerminkan jejak balik yang dicetak apabila pengecualian dinaikkan tanpa blok cuba/kecuali:
Traceback (most recent call last): File "<stdin>", line 5, in <module> File "<stdin>", line 3, in do_stuff Exception: test exception
Menggunakan traceback.format_exc() membolehkan anda menangkap dan mencetak keseluruhan traceback tanpa menghentikan atau keluar dari program, memastikan anda mempunyai akses kepada maklumat diagnostik terperinci sambil mengekalkan pelaksanaan tanpa gangguan. Teknik ini amat berguna untuk tujuan pengelogan dan penyahpepijatan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap dan Mencetak Surih Balik Pengecualian Python Tanpa Menghentikan Pelaksanaan Program?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!