Python | Exception Python

Exception adalah kesalahan yang terjadi saat program dijalankan. Kesalahan ini dapat terjadi karena berbagai alasan, seperti kesalahan logika, masalah input/output, atau kesalahan pembagian dengan nol. Python menyediakan mekanisme untuk menangani exception menggunakan blok try, except, else, dan finally.

Blok try dan except

Blok try digunakan untuk menulis kode yang mungkin menghasilkan exception, sedangkan blok except menangani exception yang mungkin terjadi.

try:
    hasil = 10 / 0
except ZeroDivisionError:
    print("Tidak bisa membagi dengan nol.")

Blok else

Blok else dijalankan jika tidak ada exception yang terjadi di dalam blok try.

try:
    hasil = 10 / 2
except ZeroDivisionError:
    print("Tidak bisa membagi dengan nol.")
else:
    print(f"Hasil: {hasil}")

Blok finally

Blok finally dijalankan terlepas dari apakah exception terjadi atau tidak. Ini berguna untuk membersihkan sumber daya seperti file atau koneksi jaringan.

try:
    file = open("contoh.txt", "r")
    isi = file.read()
except FileNotFoundError:
    print("File tidak ditemukan.")
finally:
    file.close()

Jenis-Jenis Exception Umum di Python

Berikut adalah beberapa exception umum yang sering terjadi di Python:

  • ZeroDivisionError: Terjadi ketika pembagian dengan nol.
  • FileNotFoundError: Terjadi ketika file yang diminta tidak ditemukan.
  • TypeError: Terjadi ketika operasi atau fungsi diterapkan pada tipe data yang tidak sesuai.
  • ValueError: Terjadi ketika fungsi menerima argumen dengan tipe data yang benar tetapi nilai yang tidak sesuai.

Tabel Exception Python

ExceptionDeskripsiContoh Kode
ZeroDivisionErrorKesalahan karena pembagian dengan nolpython<br>try:<br> hasil = 10 / 0<br>except ZeroDivisionError:<br> print("Tidak bisa membagi dengan nol.")
FileNotFoundErrorKesalahan karena file yang diminta tidak ditemukanpython<br>try:<br> file = open("tidak_ada.txt", "r")<br>except FileNotFoundError:<br> print("File tidak ditemukan.")
TypeErrorKesalahan karena operasi atau fungsi diterapkan pada tipe data yang tidak sesuaipython<br>try:<br> hasil = "10" + 10<br>except TypeError:<br> print("Operasi tidak valid.")
ValueErrorKesalahan karena fungsi menerima argumen dengan nilai yang tidak sesuaipython<br>try:<br> angka = int("sepuluh")<br>except ValueError:<br> print("Nilai tidak bisa diubah menjadi integer.")

Contoh Program Exception Handling

Berikut adalah contoh program yang menunjukkan penggunaan berbagai blok exception handling di Python.

Contoh 1: Menangani Pembagian dengan Nol

try:
    hasil = 10 / 0
except ZeroDivisionError:
    print("Tidak bisa membagi dengan nol.")
else:
    print(f"Hasil: {hasil}")
finally:
    print("Blok finally selalu dijalankan.")

Contoh 2: Menangani File Tidak Ditemukan

try:
    file = open("tidak_ada.txt", "r")
    isi = file.read()
except FileNotFoundError:
    print("File tidak ditemukan.")
else:
    print(isi)
finally:
    if 'file' in locals():
        file.close()
    print("Blok finally selalu dijalankan.")

Output Contoh Program

Contoh 1 Output:

Tidak bisa membagi dengan nol.
Blok finally selalu dijalankan.

Contoh 2 Output:

File tidak ditemukan.
Blok finally selalu dijalankan.

Loading