The Collection Part 1 #try_exception

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan
The Collection Part 1 #try_exception

Exception merupakan istilah di dalam bidang ilmu komputer yang merujuk kepada mekanisme respon dari munculnya "pengecualian" dari suatu proses komputasi. "Pengecualian" yang dimaksud adalah suatu keadaan tidak normal yang terjadi ketika eksekusi suatu program sehingga membutuhkan proses khusus yang bahkan dapat mengubah alur program itu sendiri. Pada Ilmu Komputer, penanganan pengecualian dapat dilakukan dari sisi perangkat lunak maupun perangkat keras.

Perangkat lunak mengimplementasikan fitur penanganan pengecualian melalui suatu mekanisme yang disediakan oleh bahasa pemrograman, sedangkan Perangkat Keras menggunakan fitur pendeteksi kesalahan yang tertanam pada peranti keras untuk menangani kesalahan yang terjadi dalam proses komputasi.

Bagaimana cara menangani event exception pada saat kita melakukan request ke webservice ?

ada kalanya kita memerlukan sebuah function yang bisa melakukan reload ulang pada sebuah event yang kita buat jika event tersebut mengalami mal function. cara yang paling sederhana kita bisa menggunakan try exception, seperti sample di bawah ini :

class NetworkError(RuntimeError):
pass

def retryer(max_retries=10, timeout=5):
def wraps(func):
request_exceptions = (
requests.exceptions.Timeout,
requests.exceptions.ConnectionError,
requests.exceptions.HTTPError,
requests.exceptions.SSLError,
)

def inner(*args, **kwargs):
for i in range(max_retries):
try:
result = func(*args, **kwargs)
except request_exceptions:
time.sleep(timeout)
continue
else:
return result
else:
raise NetworkError
return inner
return wraps

@retryer(max_retries=7, timeout=1)
def foo():
print('Stuff')
requests.get('https://www.google.com')

baca artikel lainya :


sumber : stack overflow