Menu
CoddyTech

try-except

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

Khối try-except trong python dùng để bắt và xử lý ngoại lệ (exception). Dưới đây là cấu trúc cơ bản của khối try-except.

try:
    statement 1
    statements which can cause error
    statement 3
except [ExceptionName]:
    code for exception handling 
  • Python chạy code trong khối try.
  • Nếu gặp ngoại lệ, quá trình thực thi code sẽ chuyển đến khối except. Các dòng còn lại trong khối try sẽ không được thực thi (trong ví dụ trên là statement 3).
  • Nếu không xảy ra ngoại lệ, khối try sẽ chạy hoàn tất và khối except sẽ được bỏ qua.

Khối try:

  • Khối chứa code có thể xảy ra ngoại lệ.

Khối except:

  • Khối thực hiện các hành động cần thiết nếu xảy ra ngoại lệ.

Ví dụ:

try:
   a = int(input())
   b = int(input())
   div = a/b
   print("Division is:",div)
except ZeroDivisionError:
   print("Cannot divide by zero")
   
print("Rest of code")

Chương trình này sẽ chạy bình thường nếu người dùng nhập giá trị khác 0 cho b. 

Nếu người dùng nhập 0 cho b, 'a/b' sẽ gây ra ZeroDivisionError và luồng thực thi sẽ chuyển đến khối except.

Chương trình sẽ in thông báo "Cannot divide by zero" ra màn hình và phần code còn lại sẽ được thực thi. Ở đây, chúng ta tránh chương trình bị kết thúc bằng cách dùng try-except

challenge icon

Thử thách

Dễ

Chương trình trên sẽ gây ra 'ValueError' nếu người dùng nhập giá trị không phải số cho bất kỳ đầu vào nào.

Viết chương trình để xử lý ngoại lệ này và in thông báo 'Not a Number' ra bảng điều khiển.

Tự làm thử

a = int(input())
b = int(input())
div = a/b
print("Division is:",div)
#Xử lý ngoại lệ ở đâ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