The Collection Part 1 #try_exception

Subscribe dengan Account Google untuk mendapatkan News Letter terbaru dari Halovina !
The Collection Part 1 #try_exception
Filosofi Teras

Filosofi Teras

Jauh dari kesan filsafat sebagai topik berat dan mengawang-awang, Filosofi Teras justru bersifat praktis dan relevan dengan kehidupan Generasi Milenial dan Gen-Z masa kini. Buku yang pertama kali diterbitkan pada 2019 ini mengajarkan kita tentang pengendalian emosi negatif yang ada dalam diri kita.

Free Klik Disini !

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