Menu
CoddyTech

Tùy chỉnh thông báo lỗi truy vết

Bài học 16 trên 16 trong khóa học Xử lý ngoại lệ trong Python của Coddy.

Khi chạy chương trình dưới đây, bạn sẽ thấy chi tiết traceback, ngoại lệ và thông báo chuẩn của ngoại lệ trong cửa sổ đầu ra.

print(100 + "hello")

Chương trình trên sẽ tạo ra đầu ra sau:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    print(100+'hello')
TypeError: unsupported operand type(s) for +: 'int' and 'str'

3 dòng đầu chứa chi tiết traceback như số dòng, tên tệp, câu lệnh, v.v.

Dòng cuối là ngoại lệ: thông báo chuẩn của ngoại lệ.

Khi xảy ra ngoại lệ, một lệnh gọi sẽ chuyển đến hàm sys.excepthook() với các đối số dưới đây.

  • exc_type :- Loại ngoại lệ đã xảy ra.
  • exc_value :- Thông báo chuẩn của ngoại lệ
  • exc_traceback:- Chi tiết traceback

sys.excepthook() sau đó in tất cả các đối số này ra cửa sổ đầu ra dưới dạng thông báo lỗi chuẩn.

challenge icon

Thử thách

Dễ

Ghi đè hàm (function) sys.excepthook để tùy chỉnh và in thông báo của riêng bạn ra cửa sổ đầu ra khi xảy ra ngoại lệ. Với câu lệnh Python ở trên, chương trình chỉ nên in "Something Went Wrong!" rồi đến thông báo ngoại lệ mặc định.

Tự làm thử

import sys

def my_exception(exc_type, exc_value, exc_traceback):
    #Viết code của bạn vào đây

#Ghi đè bằng phép gán

def add(val1, val2):
    print(val1+val2)

Tất cả bài học trong Xử lý ngoại lệ trong Python

Tự luyện tập: Trình biên dịch Python online