Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để lấy văn bản ngoại lệ trong Python?

Nếu mã python ném ra một ngoại lệ, chúng tôi có thể bắt nó và in loại, thông báo lỗi, truy xuất nguồn gốc và nhận thông tin như tên tệp và số dòng trong tập lệnh python nơi ngoại lệ xảy ra.

Chúng tôi có thể tìm thấy loại, giá trị, các tham số truy nguyên của lỗi

Loại cho biết loại ngoại lệ đã xảy ra; giá trị chứa thông báo lỗi; traceback chứa ảnh chụp nhanh ngăn xếp và nhiều thông tin chi tiết khác về thông báo lỗi.

Hàm sys.exc_info () trả về một bộ ba thuộc tính này và câu lệnh raise có dạng ba đối số chấp nhận ba phần này.

Nhận loại ngoại lệ, số tệp và số dòng trong mã mẫu

import sys, os
try:
raise NotImplementedError("No error")
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
fname = os.path.split(exc_tb.tb_frame.f_code.co_filename)[1]
print(exc_type, fname, exc_tb.tb_lineno