Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menangkap dan Memaparkan Jejak Tindanan Penuh dalam Python Tanpa Menamatkan Program?

Bagaimanakah Saya Boleh Menangkap dan Memaparkan Jejak Tindanan Penuh dalam Python Tanpa Menamatkan Program?

Barbara Streisand
Lepaskan: 2024-11-20 12:11:11
asal
619 orang telah melayarinya

How Can I Capture and Display a Full Stack Trace in Python Without Terminating the Program?

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())
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan