Cara menggunakan python try except

Saat kita mulai memutuskan untuk belajar pemrograman, maka kita juga harus siap mencari permasalahan dari berbagai bentuk error yang akan kita hadapi. Dan saat kode program Python yang kita buat semakin kompleks, maka semakin besar juga kemungkinan adanya error pada program kita. Untuk itu kita perlu melakukan penanganan error pada kode Python kita. Hal ini bertujuan agar pengguna lain tidak kaget saat melihat pesan error yang mereka temukan.

Baca Juga : Python (Part 8) – Fungsi

Contoh Kasus Penanganan Error Pada Python

Mungkin sampai sini kamu masih bingung dan bertanya-tanya dan penasaran seperti apa implementasi penanganan error ini. Jadi saya akan berikan contoh gambaran seperti berikut.

Pada tulisan sebelumnya, kita sudah memiliki sebuah fungsi untuk menghitung harga barang setelah dipotong dengan diskon. Jika kamu lupa, berikut ini saya tampilkan lagi kodenya.

def hargaSetelahDiskon(harga, diskon):
    hargaAkhir = harga - harga * diskon / 100
    return hargaAkhir

Misalkan sebuah barang memiliki harga Rp100.000 dan kita mendapat potongan harga 10% , maka kita bisa cari tahu harga akhirnya dengan memanggil fungsi tersebut seperti ini.

print(hargaSetelahDiskon(100000, 10))

Cara menggunakan python try except

Kita bisa melihat bahwa kode kita berjalan dengan baik dan menghasilkan keluaran yang sesuai. Akan tetapi, kita harus pikirkan kemungkinan-kemungkinan lain yang dapat menyebabkan pemanggilan fungsi tersebut menghasilkan error. Bisakah kamu menebak kemungkinan itu?

Salah satu hal yang dapat menyebabkan error adalah ketika kita coba memanggil fungsi tersebut tanpa memberikan nilai apapun ke parameternya.

print(hargaSetelahDiskon())

Jika tidak ada penanganan error, maka pemanggilan tersebut akan menghasilkan error dengan pesan sebagai berikut ini.

Cara menggunakan python try except

Saat kita menerapkan penanganan error, maka output yang tampil bisa kita buat seperti ini.

Cara menggunakan python try except

Keren kan!!? Dengan begitu, pengguna tidak merasa kaget, bingung, ataupun panik ketika menemukan error atau bug yang terjadi pada kode program kita. Penasaran bagaimana caranya? Mari kita pelajari bersama..

try-except

Untuk melakukan penanganan error pada kode Python kita, setidaknya kita menggunakan dua keyword ini, yaitu try - except. Kita wajib menggunakan dua keyword ini secara bersamaan atau berpasangan. Kita tidak dapat menggunakan trysaja tanpa

print(hargaSetelahDiskon(100000, 10))
0.

Sesuai namanya, blok kode di dalam tryakan ‘dicoba’ untuk dijalankan. Jikalau pada blok try ini menghasilkan error, maka program akan menjalankan kode di dalam blok

print(hargaSetelahDiskon(100000, 10))
0.

Inilah yang kita gunakan dalam menangani error yang terjadi pada pemanggilan fungsi di atas. Kita bisa masukkan pemanggilan fungsinya pada blok try - exceptseperti berikut ini.

try:
    print(hargaSetelahDiskon())
except:
    print("Halo, kamu harus menyertakan 'harga' dan 'diskon' dengan benar ya!")

try-except-finally

Sebenarnya ini mirip dengan yang tadi. Hanya saja kita menambahkan satu blok lagi yaitu

print(hargaSetelahDiskon(100000, 10))
5. Hal ini tidak wajib (bersifat opsional), kamu bisa menggunakannya jika kamu membutuhkannya. Blok kode
print(hargaSetelahDiskon(100000, 10))
5ini akan selalu dijalankan tanpa memperdulikan apakah akan ada error atau tidak.

Masih dengan contoh pemanggilan fungsi sebelumnya, kita coba tambahkan blok

print(hargaSetelahDiskon(100000, 10))
5seperti berikut.

try:
    print(hargaSetelahDiskon())
except:
    print("Halo, kamu harus menyertakan 'harga' dan 'diskon' dengan benar ya!")
finally:
    print("Kode program telah selesai dijalankan.")

Saat menjalankan kode tersebut, maka output yang tampil seperti ini.

Cara menggunakan python try except

Begitu juga saat tidak ada error yang terjadi, maka program tetap menjalankan

print(hargaSetelahDiskon(100000, 10))
5.

try:
    print(hargaSetelahDiskon(100000, 10))
except:
    print("Halo, kamu harus menyertakan 'harga' dan 'diskon' dengan benar ya!")
finally:
    print("Kode program telah selesai dijalankan.")

Cara menggunakan python try except

Menangani Beberapa Error atau Exception

Dalam penggunaannya, kita bisa menangani error atau exception secara spesifik. Hal ini memungkinkan kita mengeksekusi beberapa kode yang berbeda tergantung dari error yang terjadi.

try:
    print(hargaSetelahDiskon())
except TypeError:
    print("Halo, kamu harus menyertakan 'harga' dan 'diskon' dengan benar ya!")
except NameError:
    print("Halo, kamu mungkin ada typo saat memanggil fungsinya!")
except:
    print("Ada error yang lain")
finally:
    print("Kode program telah selesai dijalankan.")

Pada kode tersebut kita mengecek dua exception yang mungkin terjadi, yaitu

print(hargaSetelahDiskon(100000, 10))
9 dan
print(hargaSetelahDiskon())
0. Exception
print(hargaSetelahDiskon(100000, 10))
9 akan terjadi ketika fungsi menerima masukan yang kurang tepat (seperti yang sudah kita praktekkan sebelumnya). Sedangkan
print(hargaSetelahDiskon())
0 akan terjadi ketika ada kesalahan penulisan nama fungsi yang kita panggil. Jika terjadi error yang lainnya (selain
print(hargaSetelahDiskon(100000, 10))
9dan
print(hargaSetelahDiskon())
0) maka akan mengeksekusi blok except yang lain, yaitu akan menampilkan
print(hargaSetelahDiskon())
5

Kalau kita menjalankan kode tersebut maka hasilnya seperti ini.

Cara menggunakan python try except

Sedangkan saat kita mengganti blok trymenjadi seperti berikut, maka outputnya juga berbeda.

try:
    print(hargasetelahdiskon(100000, 10))

# -- kode lain disembunyikan --

Program akan mendeteksi bahwa ada pemanggilan fungsi yang salah karena nama fungsi tersebut tidak akan dikenali (fungsi yang kita punya adalah hargaSetelahDiskon , sedangkan pada kode tersebut memanggil hargasetelahdiskon )

Cara menggunakan python try except

Pada contoh tersebut kita mengenali error atau exception bawaan dari Python (Built-in Exceptions). Selengkapnya mengenai Built-in Exceptions ini bisa kamu baca pada dokumentasi resminya : Built-in Exceptions — Python 3.10.7 documentation

Referensi tambahan berikut ini mungkin bisa membantumu juga dalam mempelajari penanganan error pada Python:

  • Python Error Handling (w3schools.com)
  • Python Exception Handling Using try, except and finally statement (programiz.com)

Nah, itu tadi sedikit tulisan singkat mengenai penanganan error pada Python. Tetap semangat belajarnya ya

Apa itu try

Try digunakan untuk menguji suatu instruksi. Except untuk menampilkan pesan kesalahan.

Apa itu try dan except?

Pernyataan try-except merupakan ekstensi Microsoft ke bahasa C yang memungkinkan aplikasi untuk mendapatkan kontrol atas program ketika terjadi peristiwa yang biasanya menghentikan eksekusi.

Kapan kita menggunakan exception handling?

Exception Handling merupakan mekanisme yang paling diperlukan dalam menangani error yang terjadi pada saat runtime (program berjalan) atau yang lebih dikenal dengan sebutan runtime error. Secara umum, adanya kesalahan / error yang terjadi pada program pada saat runtime dapat menyebabkan program berhenti atau hang.

Apa penyebab terjadinya suatu pengecualian exceptions di suatu program?

Exception dipicu oleh runtime error, yaitu error atau kesalahan yang terjadi saat program dieksekusi oleh interpreter.