Exception Handling jika diartikan secara bebas dapat disebut sebagai ‘teknik penanganan kasus khusus’. Exception handling pada kode program diperlukan saat kita perlu menyiasati adanya perintah yang gagal dieksekusi karena adanya kondisi yang tidak sesuai dengan kondisi yang diharapkan pada kasus normal. Show
Contoh sederhana kondisi tidak normal misalkan saat program mengharapkan input dari user berupa angka namun user/sistem memberikan nilai ataupun format yang tidak valid. Jika kasus khusus tersebut tidak diberikan penanganan khusus maka program dapat terhenti karena error. Contoh kasusJalankan contoh kode di bawah, kemudian coba berikan nilai seharusnya (angka) dan bandingkan hasilnya dengan memberikan nilai yang tidak sesuai (misal: huruf). Jika pada contoh di atas user memberikan nilai non angka saat diminta, maka program akan mengalami fatal error dan keluar sebelum baris kode berikutnya dijalankan . Menambahkan exception handlingUntuk menangani kasus pada contoh di atas kita dapat memodifikasi kode dan menambahkan exception handling untuk mendeteksi terjadinya kesalahan. Dengan menambahkan exception handling, jikapun terjadi kesalahan program dapat tetap melanjutkan ke baris berikutnya. Syntax exeption handling try: # blok kode ini dieksekusi terlebih dahulu except: # eksekusi pindah ke blok except bila pada blok try terjadi error # eksekusi pindah tanpa melanjutkan sisa kode pada blok try Solusi untuk kasus sebelumnya Jalankan contoh berikut untuk lebih jelasnya, berikan nilai yang yang sama seperti saat anda menghasilkan error pada contoh kode sebelumnya dan perhatikan hasilnya. Contoh lainException handling saat konversi datetime Kode di bawah adalah contoh solusi saat user memasukkan tanggal dengan format yang salah. from datetime import datetime as dtm tanggal_valid = False while not tanggal_valid: dt_input = input('Masukkan tanggal lahir anda dengan format seperti contoh berikut: 31-12-1995\n') try: tanggal_lahir = dtm.strptime(dt_input,'%d %m %Y') tanggal_valid = True except: print('Anda memasukkan nilai dengan format yang salah') print(tanggal_lahir) Semoga bermanfaat, Salam Penanganan file adalah bagian penting dari aplikasi web apapun. Python memiliki beberapa fungsi untuk membuat, membaca, memperbarui, dan menghapus file. File Handling (Penanganan File)Fungsi key untuk bekerja dengan file dengan Python adalah fungsi open(). Fungsi open() mengambil dua parameter; nama file, dan mode. Ada empat metode (mode) berbeda untuk membuka file, yaitu seperti berikut: “r” – Read- Nilai default. Membuka file untuk membaca, error jika file tidak ada “a” – Append- Membuka file untuk ditambahkan, membuat file jika tidak ada “w” – write- Membuka file untuk ditulis, membuat file jika tidak ada “x” – create- Membuat file yang ditentukan, mengembalikan kesalahan jika file tersebut ada Selain itu, Anda dapat menentukan apakah file harus ditangani sebagai mode biner atau teks “t” – Text – Nilai default. Mode teks “b” – Biner – Mode biner (mis. gambar) SintaksUntuk membuka file yang dapat dibaca cukup dengan menentukan nama file. Kode diatas sama dengan: f = open("demofile.txt", "rt") Karena “r” untuk dibaca, dan “t” untuk teks adalah nilai default, kita tidak perlu menentukannya lagi. Catatan: Pastikan file tersebut ada, atau jika tidak akan menghasilkan error. Blok trymemungkinkan untuk menguji blok kode terhadap kesalahan. Blok except memungkinkan untuk menangani kesalahan. Blok finally memungkinkan untuk mengeksekusi kode, terlepas dari hasil blok try- dan except. Exception HandlingKetika kesalahan terjadi, atau exception seperti yang biasa disebut, Python biasanya akan berhenti dan menghasilkan pesan kesalahan. Exception ini dapat ditangani menggunakan pernyataan try. Contoh: #Blok try akan menghasilkan error, karena x tidak ditentukan try: print(x) except: print("An exception occurred") Karena blok try menghasilkan kesalahan, blok except akan dieksekusi. Tanpa blok try, program akan crash dan menimbulkan kesalahan. Contoh: Pernyataan ini akan menimbulkan kesalahan, karena x tidak ditentukan print(x) Banyak ExceptionAnda dapat menentukan blok exception sebanyak yang diinginkan, misalnya jika ingin menjalankan blok kode khusus untuk jenis kesalahan khusus. Contoh: # Blok try akan menghasilkan NameError, karena x tidak ditentukan: try: print(x) except NameError: print("Variable x tidak ditentukan") except: print("Telah terjadi kesalahan") ElseAnda dapat menggunakan kata kunci else untuk menentukan blok kode yang akan dieksekusi jika tidak ada kesalahan yang muncul. Contoh: #Blok percobaan tidak menimbulkan kesalahan, jadi blok else dijalankan: try: print("Hello") except: print("Terjadi kesalahan") else: print("Tidak terjadi kesalahan") FinallyBlok finally, jika ditentukan, akan dieksekusi terlepas dari apakah blok try menimbulkan kesalahan atau tidak. Contoh: # Blok finally dieksekusi tidak peduli apakah blok try menimbulkan kesalahan atau tidak try: print(x) except: print("Terjadi Kesalahan") finally: print("'try except' diselesaikan") Finally dapat berguna untuk menutup objek dan membersihkan sumber daya. Contoh: # Blok try akan memunculkan kesalahan saat mencoba menulis ke file read-only: try: f = open("demofile.txt") f.write("Lorum Ipsum") except: print("Terjadi kesalahan saar menulis pada file ini") finally: f.close() # Program dapat melanjutkan, tanpa meninggalkan objek file terbuka Program dapat melanjutkan, tanpa meninggalkan objek file terbuka. Menampilkan ExceptionSebagai pengembang Python, kita dapat memilih untuk memberikan pengecualian jika suatu kondisi terjadi. Untuk membuang (atau menampilkan) pengecualian, gunakan kata kunci raise. Contoh: x = -1 if x < 0: raise Exception("Maaf tidak ada angka dibawah 0") Kata kunci raise digunakan untuk menampilkan pengecualian. Kita dapat menentukan jenis kesalahan yang akan muncul, dan teks yang akan dicetak kepada pengguna. Contoh: x = "hello" if not type(x) is int: raise TypeError("Hanya integer yang diizinkan") 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 itu custom exception handling pada python?Python Exception handling adalah suatu mekanisme penanganan flow normal program karena terjadi exception dengan melanjutkan flow ke code block lainnya. Kenapa harus menangani exception? Karena terjadi exception dan kita tidak tangani, maka program akan berhenti.
Apa itu Exception pada python?Assertions Exception adalah sebuah peristiwa, yang terjadi selama pelaksanaan program yang mengganggu aliran normal instruksi program. Secara umum, ketika skrip Python menemukan situasi yang tidak dapat diatasi, hal itu menimbulkan pengecualian. Exception adalah objek Python yang mewakili kesalahan.
Di dalam statement try apa arti dari except?except untuk menangani error yang mungkin kita sendiri tidak mengetahuinya. Biasanya try.. except ini digunakan untuk menangani error saat penggunaan IO, operasi database, atau pengaksesan indeks suatu list atau dictionary, dan berbagai kasus lainnya.
|