Yêu cầu - Xử lý lỗi

Chương này sẽ thảo luận về cách xử lý các lỗi sắp xảy ra khi làm việc với thư viện yêu cầu Http. Luôn luôn là một thực tiễn tốt để quản lý lỗi cho tất cả các trường hợp có thể xảy ra.

Lỗi ngoại lệ

Mô-đun yêu cầu đưa ra các loại ngoại lệ lỗi sau:

ConnectionError- Điều này sẽ được nâng lên, nếu có bất kỳ lỗi kết nối nào. Ví dụ, mạng bị lỗi, lỗi DNS nên thư viện Yêu cầu sẽ nâng ngoại lệ ConnectionError.

Response.raise_for_status() - Dựa trên mã trạng thái tức là 401, 404 nó sẽ tăng HTTPError cho url được yêu cầu.

HTTPError - Lỗi này sẽ phát sinh do phản hồi không hợp lệ đối với yêu cầu được thực hiện.

Timeout - Đã xảy ra lỗi do hết thời gian chờ cho URL được yêu cầu.

TooManyRedirects - Nếu vượt qua giới hạn cho các chuyển hướng tối đa hơn nó sẽ làm tăng lỗi TooManyRedirects.

Thí dụ

Đây là một ví dụ về lỗi được hiển thị cho thời gian chờ -

import requests
getdata = 
requests.get('https://jsonplaceholder.typicode.com/users',timeout=0.001)
print(getdata.text)

Đầu ra

raise ConnectTimeout(e, request=request)
requests.exceptions.ConnectTimeout:
HTTPSConnectionPool(host='jsonplaceholder.ty
picode.com', port=443): Max retries exceeded with url: /users (Caused
by Connect
TimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at
0x000000B02AD
E76A0>, 'Connection to jsonplaceholder.typicode.com timed out. (connect 
timeout = 0.001)'))