Cara menggunakan valueerror in python
Indonesian (Bahasa Indonesia) translation by Husain Ali Yahya (you can also view the original English article) Show Sangat lumrah untuk mengalami error selama eksekusi dari sebuah program. Dua macam error yang lumrah dan perlu ditangani adalah syntax error dan exceptions. Syntax error terjadi ketika kamu mengetik kode-nya dengan salah. dalam beberapa kasus, baris yang keliru diulangi oleh parser-nya dengan sebuah panah menunjuk ke lokasi terkini di mana error-nya terdeteksi. Excepetions berbeda dengan syntax error. mereka terjadi selama eksekusi sebuah program saat sesuatu yang tidak diperkirakan terjadi. contohnya, mari katakan kamu meminta penggunanya untuk memasukkan sebuah angka untuk
melakukan sebuah pembagian. Sekarang, jika penggunanya memasukkan sebuah string ketimbang sebuah angka dan kamu mencoba membagi sebuah angka dengan input yang diberikan, program-nya akan mengeluarkan Ketika tidak menangani exceptions dengan tepat, program-nya akan keluar secara paksa karena dia tidak tahu apa yang perlu dilakukan dalam kasus tersebut. Kode berikut adalah sebuah contoh: keep_asking = True while keep_asking: x = int(input("Enter a number: ")) print("Dividing 50 by", x,"will give you :", 50/x) Sepanjang kamu memasukkan nilai input integral, programnya akan bekerja dengan
benar. Walau bagaimanapun, sesegara kamu memasukkan sebuah string atau bahkan sebuah angka desimal sebagai masukannya, kamu akan menerima exception Pada panduan ini, kamu akan belajar cara menanganinya dengan tepat dan mengankat exceptions di Python. Beberapa Exceptions yang UmumBerikut adalah beberapa exceptions dasar yang mungkin kamu alami saat menulit program. Kamu bisa baca lebih banyak mengenai built-in exceptions di situs resminya.
Seperti nama-nama diatas, kebanyakan exception memiliki nama-nama yang cukup jelas. Menangani ExceptionKode di awal artikel meminta pengguna untuk memasukkan integer sebagai sebuah input. Jika penggunanya tidak menyediakan masukkan integer, program-nya akan menghentikan eksekusi dan memunculkan nilai error exception-nya. Pada bagian ini, kita akan menulis beberapa kode untuk memberi tahu pengguna bahwa masukkan mereka bukanlah nilai integer yang valid. Langkah pertama dari prosesnya adalah memasukkan kode yang kamu anggap bisa menimbulkan exception di dalam klausa keep_asking = True while keep_asking: try: x = int(input("Please enter a number: ")) print("Dividing 50 by", x,"will give you :", 50/x) except ValueError: print("The input was not an integer. Please try again...") Apa yang terjadi di sini adalah program-nya mencoba untuk mengeksekusi kodenya di dalam klausa Ketika kamu memasukkan sebuah integer sebagai masukkannya, program-nya memberikanmu hasil akhir dari pembagian. Ketika nilai non-integral disediakan, program-nya akan mencetak sebuah pesan memintamu untuk mencoba dan memasukkan sebuah integer lagi. Ingat kali ini, programnya tidak akan keluar secara paksa saat kamu memasukkan nilai yang tidak valid. Kamu bisa memiliki banyak klausa Kamu juga bisa menangani banyak exception menggunakan satu klausa except (ZeroDivisionError, ValueError, TypeError): print("Something has gone wrong..") # code to deal with the exception Pada akhirnya, kamu juga bisa meninggalkan nama dari exceptionnya setelah keyword Satu penggunaan yang mungkin untuk menangkap semua exception adalah dengan mencetak semua exception error di layar seperti pada kode berikut: import math import sys try: result = math.factorial(2.4) except: print("Something Unexpected has happened.",sys.exc_info()[0]) else: print("The factorial is", result) Menggunakan Klause ElseKamu juga bisa menggunakan sebuah klausa Pada kasus kita, kita bisa memindahkan baris yang mencetak hasilkan ke pembagian kita di dalam blok keep_asking = True while keep_asking: try: x = int(input("Please enter a number: ")) except ValueError: print("The input was not a valid integer. Please try again...") else: print("Dividing 50 by", x,"will give you :", 50/x) Membersihkan Menggunakan Klausa FinallyMari katakan kamu harus menulis beberapa kode di dalam blok Kode di dalam klausa keep_asking = True while keep_asking: try: x = int(input("Please enter a number: ")) except ValueError: print("The input was not a valid integer. Please try again...") else: print("Dividing 50 by", x,"will give you :", 50/x) finally: print("Already did everything necessary.") Jika ada klausa Contoh yang Lebih RumitPada bagian ini, kita akan menulis sebuah program untuk menangani aneka exceptions. Hanya seperti contoh-contoh sebelumnya, kita akan melakukan beberapa operasi matematis. Namun, kali ini kita akan mengambil beberapa input dari sebuah list. Kode berikut mengecek dua exceptions, import math number_list = [10,-5,1.2,'apple'] for number in number_list: try: number_factorial = math.factorial(number) except TypeError: print("Factorial is not supported for given input type.") except ValueError: print("Factorial only accepts positive integer values.", number," is not a positive integer.") else: print("The factorial of",number,"is", number_factorial) finally: print("Release any resources in use.") Kode di atas menghasilkan output berikut: The factorial of 10 is 3628800 Releasing any resources in use. Factorial only accepts positive integer values. -5 is not a positive integer. Releasing any resources in use. Factorial only accepts positive integer values. 1.2 is not a positive integer. Releasing any resources in use. Factorial is not supported for given input type. Releasing any resources in use. Hal lain yang penting untuk diperhatikan adalah bahwa kode di dalam klausa Hal TerkahirSaya harap panduan ini akan membantumu memahami penanganan exception di Python. Di samping itu, jangan ragu untuk melihat apa yang tersedia untuk dijual dan dipelajari di marketplace. Dan jangan ragu untuk menanyakan pertanyaan apapun dan menyediakan umpan balik yang berguna menggunakan umpan berikut. Menangani exception dengan tepat bisa jadi sangat membantu pada situasi dimana kelaur dari sebuah program ketika menerima sebuah input yang tidak diperkirakan tidak dapat dilakukan. Jika kamu punya pertanyaan terkait penanganan exception di Python tolong beri komentar. |