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.
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
4Tùy chỉnh và thực hành tốt
Tùy chỉnh thông báo lỗi truy vết3Ngoại lệ do người dùng định nghĩa
Các loại ngoại lệPhát sinh ngoại lệNgoại lệ do người dùng định nghĩaBài tập xử lý ngoại lệ 1Ví dụ xử lý ngoại lệ 2Ví dụ xử lý ngoại lệ 3Tự luyện tập: Trình biên dịch Python online