Để dùng xử lý ngoại lệ (exception handling) trong Python, trước tiên cần bắt các mệnh đề except.
Python cung cấp từ khóa try và except để bắt ngoại lệ. Khối code try sẽ thực thi câu lệnh từng câu. Tuy nhiên, nếu ngoại lệ xảy ra, phần còn lại của try không thực thi và mệnh đề except sẽ chạy.
try:
some_statements_here
except:
exception_handling
Ví dụ đơn giản
try:
print("Hello, World!")
except:
print("This is an error message!")
Hello, World!
Ví dụ chi tiết hơn
import sys
List = ['abc', 0, 2, 4]
for item in List:
try:
print("The List Item is", item)
r = 1/int(item)
break
except:
print("Oops!", sys.exc_info()[0], "occured.")
print('\n')
print("Next Item from the List is: ")
print()
print("The reciprocal of", item, "is", r)
Kết quả
The List Item is abc
Oops! occured.
Next Item from the List is:
The List Item is 0
Oops! occured.
Next Item from the List is:
The List Item is 2
The reciprocal of 2 is 0.5
Chương trình lặp cho đến khi nhận được số nguyên có nghịch đảo hợp lệ. Code gây ngoại lệ đặt trong block try. Nếu ngoại lệ xảy ra, block except bắt nó. Có thể test với các lỗi ngoại lệ phổ biến:
- IOError: Không thể mở file.
- ImportError: Module bị thiếu.
- ValueError: Đối số kiểu đúng nhưng giá trị không phù hợp cho toán tử/hàm built-in.
- KeyboardInterrupt: User nhấn phím ngắt (thường Ctrl-C).
- EOFError: Hàm built-in gặp điều kiện end-of-file (EOF) mà không đọc được dữ liệu.