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

thử và ngoại trừ bằng Python

Để sử dụng xử lý ngoại lệ trong python, trước tiên chúng ta cần nắm bắt tất cả các mệnh đề ngoại trừ.

Python cung cấp các từ khóa “thử” và “ngoại trừ” để bắt các trường hợp ngoại lệ. Mã khối “try” sẽ được thực thi từng câu lệnh. Tuy nhiên, nếu một ngoại lệ xảy ra, mã "try" còn lại sẽ không được thực thi và mệnh đề ngoại trừ sẽ được thực thi.

try:
   some_statements_here
except:
   exception_handling

Hãy xem cú pháp ở trên với một ví dụ rất đơn giản -

try:
   print("Hello, World!")
except:
   print("This is an error message!")

Đầu ra

Hello, World!

Trên đây là một ví dụ rất đơn giản, hãy hiểu khái niệm trên bằng một ví dụ khác -

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)

Đầu ra

The List Item is abc
Oops! <class 'ValueError'> occured.
Next Item from the List is:
The List Item is 0
Oops! <class 'ZeroDivisionError'> occured.
Next Item from the List is:
The List Item is 2
The reciprocal of 2 is 0.5

Trong chương trình trên, các vòng lặp chạy cho đến khi chúng ta nhận được (với tư cách là đầu vào của người dùng) một số nguyên có đối ứng hợp lệ. Mã gây ra một ngoại lệ để nâng cao được đặt trong khối thử.

Trong trường hợp một số ngoại lệ xảy ra, nó sẽ bị chặn bởi khối ngoại trừ. Chúng ta có thể kiểm tra chương trình trên với các lỗi ngoại lệ khác nhau. Dưới đây là một số lỗi ngoại lệ phổ biến -

  • IOError

    Nâng cao trong trường hợp chúng tôi không thể mở tệp.

  • ImportError

    Nâng cao trong trường hợp mô-đun bị thiếu.

  • ValueError

    Điều này xảy ra bất cứ khi nào chúng ta truyền đối số có đúng loại nhưng một giá trị không phù hợp của toán tử hoặc hàm tích hợp sẵn.

  • Bàn phím ngắt

    Bất cứ khi nào người dùng nhấn phím ngắt (thường là control-c)

  • EOFError

    Ngoại lệ được đặt ra khi các hàm tích hợp đạt điều kiện cuối tệp (EOF) mà không đọc bất kỳ dữ liệu nào.