Identifikasi Exception Handling

Identifikasi exception handling maksudnya adalah saat membuat exception, perlu mengidentifikasikan exception secara jelas.

Berikut contoh program tanpa exception yang jelas.

from random import randrange

def main():
    angka = randrange(100)
    while True:
        try:
            tebak = int(input("?"))
        except:
            continue
        if tebak == angka:
            print("Tebakan Anda Tepat")
            break

if __name__ == '__main__':
    main()

Program diatas tidak mengidentifikasikan execption dengan jelas, program akan catch semua exception.

Saat dimasukan tulisan tujuh, program akan masuk kedalam exception, OK, error handling sesuai harapan. Namun saat kita akan memberhentikan program dengan CTRL+C, program tetap masuk kedalam block exception. Kita tidak pernah bisa keluar dari program.

PS F:\Project\pyErrHandling> python tebakAngka.py
?1
?2
?5
?tujuh
????

Berikut saran perbaikan exception handling. Program harus catch exception ValueError agar bisa berjalan dengan benar.

from random import randrange

def main():
    angka = randrange(100)
    while True:
        try:
            tebak = int(input("?"))
        except ValueError:
            continue
        if tebak == angka:
            print("Tebakan Anda Tepat")
            break

if __name__ == '__main__':
    main()

Kesimpulan

Tidak mengidentifikasikan jenis exception adalah ide buruk. Program bisa catch exception yang sebetulnya tidak Anda inginkan.

Sharing is caring:

Leave a Comment