Menangkap Pengecualian untuk Traceback
Apabila menghadapi pengecualian semasa pelaksanaan Python, mungkin terdapat keperluan untuk menangkap dan mencatatnya tanpa menamatkan program secara tiba-tiba . Untuk mencapai matlamat ini, blok cuba/kecuali boleh digunakan, di mana pengecualian khusus boleh dikendalikan dengan anggun.
Walau bagaimanapun, dalam senario tertentu, adalah wajar untuk memaparkan keseluruhan surih tindanan yang dikaitkan dengan pengecualian, sama seperti jika pengecualian telah dinaikkan tanpa blok cuba/kecuali memintas. Ini memberikan cerapan berharga tentang punca dan lokasi khusus ralat.
Untuk mendapatkan jejak balik yang komprehensif, kaedah traceback.format_exc() boleh dimanfaatkan. Berikut ialah contoh:
import traceback def do_stuff(): raise Exception("test exception") try: do_stuff() except Exception: print(traceback.format_exc())
Coretan kod ini akan menghasilkan output berikut, meniru surih tindanan pengecualian lalai:
Traceback (most recent call last): File "main.py", line 9, in <module> do_stuff() File "main.py", line 5, in do_stuff raise Exception("test exception") Exception: test exception
Dengan menggunakan kaedah traceback.format_exc(), keseluruhan traceback ditangkap dan dicetak, menyediakan rekod terperinci tentang kejadian pengecualian. Maklumat ini boleh menjadi tidak ternilai untuk menyahpepijat dan memahami punca ralat tanpa mengganggu pelaksanaan program.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangkap dan Memaparkan Jejak Tindanan Penuh dalam Python Tanpa Menamatkan Program?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!