Pengelogan Jejak Balik Tanpa Penamatan Program
Pengecualian penangkapan dan pengelogan adalah penting untuk mengekalkan kestabilan aplikasi. Walau bagaimanapun, blok cuba/kecuali konvensional boleh menghalang pengecualian daripada disebarkan dan menghentikan pelaksanaan program. Artikel ini meneroka penyelesaian untuk menangkap dan mencetak keseluruhan jejak pengecualian Python tanpa keluar dari program.
Menangkap Butiran Pengecualian
Untuk menangkap butiran pengecualian tanpa menghentikan program, kami boleh menggunakan traceback.format_exc(). Fungsi ini menjana rentetan terformat yang mewakili jejak balik pengecualian.
Contoh Pelaksanaan
Pertimbangkan kod berikut:
import traceback def do_stuff(): raise Exception("test exception") try: do_stuff() except Exception: print(traceback.format_exc())
Kod ini melaksanakan do_stuff () fungsi, yang menimbulkan pengecualian. Daripada membiarkannya ranap program, blok try/except menangkap pengecualian dan mencetak jejak balik menggunakan traceback.format_exc().
Output
Kod di atas menghasilkan output berikut, sama dengan jejak balik pengecualian yang dijana tanpa menggunakan cuba/kecuali blok:
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
Kesimpulan
Dengan memanfaatkan traceback.format_exc() dalam blok cuba/kecuali, kami boleh menangkap dan mencatat butiran pengecualian tanpa mengganggu aliran program. Ini membolehkan pengendalian ralat dan penyahpepijatan tanpa menjejaskan kestabilan aplikasi.
Atas ialah kandungan terperinci Bagaimanakah saya boleh Log Surih Pengecualian Python Tanpa Menghentikan Pelaksanaan Program?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!