Try Except Python

try khối cho phép bạn kiểm tra khối mã để tìm lỗi.

except khối cho phép bạn xử lý lỗi.

finally khối cho phép bạn thực thi mã, bất kể kết quả của khối try và except.

Xử lý ngoại lệ

Khi chúng ta gọi Python và xảy ra lỗi hoặc ngoại lệ, thường sẽ dừng lại và tạo ra thông điệp lỗi.

Bạn có thể sử dụng try câu lệnh xử lý các ngoại lệ này:

Mô Hình

khối try sẽ tạo ra ngoại lệ vì x chưa được định nghĩa:

try:
  print(x)
except:
  print("An exception occurred")

Chạy Mô Hình

do khối try gây ra lỗi, vì vậy khối except sẽ được thực thi.

nếu không có khối try, chương trình sẽ sụp đổ và gây ra lỗi:

Mô Hình

câu lệnh này sẽ gây ra lỗi vì x chưa được định nghĩa:

print(x)

Chạy Mô Hình

Nhiều ngoại lệ

Bạn có thể định nghĩa bất kỳ số lượng exception khối nào tùy ý, ví dụ, nếu bạn muốn thực thi mã khối đặc biệt cho loại lỗi đặc biệt:

Mô Hình

nếu khối try gây ra NameErrorthì in một thông điệp, nếu là lỗi khác thì in một thông điệp khác:

try:
  print(x)
except NameError:
  print("Variable x is not defined")
except:
  print("Something else went wrong")

Chạy Mô Hình

Else

nếu không gây ra lỗi, bạn có thể sử dụng else ký tự để định nghĩa khối mã cần thực thi:

Mô Hình

Trong ví dụ nàytry khối sẽ không tạo ra bất kỳ lỗi nào:

try:
  print("Hello")
except:
  print("Something went wrong")
else:
  print("Nothing went wrong")

Chạy Mô Hình

Finally

nếu đã chỉ định finally 块,thì bất kể khối try có gây ra lỗi hay không, khối finally sẽ được thực thi.

Mô Hình

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")

Chạy Mô Hình

Điều này rất hữu ích để đóng đối tượng và dọn sạch tài nguyên:

Mô Hình

Thử mở và ghi vào tệp không thể ghi:

try:
  f = open("demofile.txt")
  f.write("Lorum Ipsum")
except:
  print("Có lỗi xảy ra khi ghi vào tệp")
finally:
  f.close()

Chạy Mô Hình

Chương trình có thể tiếp tục và không mở đối tượng tệp.

Gây ra ngoại lệ

Như một nhà phát triển Python, bạn có thể chọn gây ra ngoại lệ khi điều kiện xảy ra.

Để gây ra (gây ra) ngoại lệ, hãy sử dụng raise Các từ khóa.

Mô Hình

Nếu x nhỏ hơn 0, thì gây ra ngoại lệ và kết thúc chương trình:

x = -1
if x < 0:
  raise Exception("Xin lỗi, không có số dưới 0")

Chạy Mô Hình

raise Các từ khóa được dùng để gây ra ngoại lệ.

Bạn có thể định nghĩa loại ngoại lệ gây ra và văn bản in cho người dùng.

Mô Hình

Nếu x không phải là số nguyên, thì gây ra TypeError:

x = "hello"
if not type(x) is int:
  raise TypeError("Chỉ cho phép số nguyên")

Chạy Mô Hình