Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để bạn bỏ qua Exceptions trong Python một cách đúng đắn?

Điều này có thể được thực hiện bằng các mã sau

try:
x,y =7,0
z = x/y
except:
pass

HOẶC

try:
x,y =7,0
z = x/y
except Exception:
pass


Các mã này bỏ qua ngoại lệ trong câu lệnh try và bỏ qua điều khoản ngoại trừ và không nêu ra bất kỳ ngoại lệ nào.

Sự khác biệt trong các mã trên là mã đầu tiên cũng sẽ bắt được KeyboardInterrupt, SystemExit, v.v., được lấy trực tiếp từ các ngoại lệ.BaseException, không phải ngoại lệ.

Được biết rằng ngoại lệ được ném cuối cùng được ghi nhớ trong Python, một số đối tượng liên quan đến câu lệnh ném ngoại lệ được giữ trực tiếp cho đến khi ngoại lệ tiếp theo. Chúng tôi có thể muốn thực hiện những điều sau thay vì chỉ chuyển:

try:
x,y =7,0
z = x/y
except Exception:
sys.exc_clear()

Thao tác này sẽ xóa ngoại lệ được ném cuối cùng