Xử lý nhiều ngoại lệ
Bài học 8 trên 16 trong khóa học Xử lý ngoại lệ trong Python của Coddy.
Giả sử code của bạn có thể phát sinh nhiều ngoại lệ (exception). Bạn có thể xử lý tất cả các ngoại lệ theo cách sau.
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except (TypeError, ValueError, ZeroDivisionError) as obj:
print(obj)Nếu xảy ra một trong ba ngoại lệ trên, chương trình sẽ chuyển đến khối lệnh except và không bị kết thúc.
Xử lý mọi ngoại lệ:
Nếu bạn không chắc ngoại lệ nào sẽ xảy ra, đừng viết gì sau từ khóa except.
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except:
print("Something went wrong")Cú pháp trên sẽ xử lý mọi ngoại lệ trong khối lệnh try. Tuy nhiên, bạn sẽ không có đối tượng để in thông tin.
Dùng cú pháp dưới đây:
try:
code which can cause
TypeError, ValueError, ZeroDivisionError
except Exception as obj:
print(obj)Cú pháp trên sẽ xử lý mọi ngoại lệ phát sinh trong khối lệnh try, và bạn có thể dùng obj để in thông báo.
Thử thách
DễHoàn thiện hàm 'calculator' nhận hai số nguyên làm đối số và thực hiện phép chia. Xử lý mọi ngoại lệ có thể xảy ra và in thông báo chuẩn. Nếu không có ngoại lệ, hãy in kết quả bằng khối lệnh else.
Tự làm thử
def calculator(n1,n2):
#Viết code của bạn ở đâyTấ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ết2Xử lý ngoại lệ
try-exceptelsefinallyIn thông báo ngoại lệIn tên ngoại lệXử lý nhiều ngoại lệDùng module sys để lấy thông tin3Ngoạ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