Penanganan error

Pengantar API di Python

Chris Ramakers

Engineering Manager

Kode status error

4xx Error Klien


  • Menunjukkan masalah di sisi klien
  • Penyebab umum: Permintaan buruk, kegagalan autentikasi, dll.

Solusi: Perbaiki permintaan

5xx Error Server


  • Timbul dari masalah di server
  • Penyebab umum: Server kewalahan, salah konfigurasi, error internal

Solusi: Harus diperbaiki admin API

Pengantar API di Python

Contoh kode status error

4xx Error Klien


  • 401 Unauthorized - Permintaan tidak memiliki kredensial autentikasi yang valid untuk resource diminta
  • 404 Not Found - Server tidak dapat menemukan resource yang diminta
  • 429 Too Many Requests - Klien mengirim terlalu banyak permintaan dalam jangka waktu tertentu

5xx Error Server


  • 500 Internal Server Error - Server mengalami masalah tak terduga yang menghambat respons
  • 502 Bad Gateway - Server API gagal menjangkau server lain yang dibutuhkan untuk merespons
  • 504 Gateway Timeout - Server (bertindak sebagai gateway) tidak menerima respons tepat waktu dari upstream server
Pengantar API di Python

Menangani error

Error API

import requests

url = 'http://api.music-catalog.com/albums'

r = requests.get(url)

if r.status_code >= 400: # Wah, ada yang salah
else: # Aman, lanjut olah respons # dengan respons

Error koneksi

import requests

from requests.exceptions import ConnectionError
url = ''
try: r = requests.get(url) print(r.status_code)
except ConnectionError as conn_err: print(f'Connection Error! {conn_err}.') print(error)
Pengantar API di Python

raise_for_status()

import requests

# 1: Import pengecualian pustaka requests from requests.exceptions import ConnectionError, HTTPError
try:
r = requests.get("http://api.music-catalog.com/albums")
# 2: Aktifkan pengangkatan pengecualian untuk status error r.raise_for_status()
print(r.status_code)
# 3: Tangkap error koneksi except ConnectionError as conn_err: print(f'Connection Error! {conn_err}.')
# 4: Tangkap respons error dari server API except HTTPError as http_err: print(f'HTTP error occurred: {http_err}')
Pengantar API di Python

Ayo berlatih!

Pengantar API di Python

Preparing Video For Download...