Menu
CoddyTech

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.

challenge icon

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 ở đây

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