Salah satu bagian tersulit dalam mendesain dan menulis kode adalah penanganan pengecualian. Penanganan pengecualian yang buruk menyebabkan sejumlah masalah, termasuk Show
Masalah ini tidak hanya mempersulit restrukturisasi dan penambahan fitur baru ke kode, tetapi juga mempersulit pengelolaan aplikasi dalam pengaturan dunia nyata. Salah satu pengecualian tersebut adalah ValueError dan kami akan membahas di artikel ini apa itu ValueError dan bagaimana cara memperbaikinya. Mari kita membahas segala sesuatu tentang ValueError dengan Python Apa itu ValueError di Python?Pengecualian disebut terjadi selama eksekusi skrip apa pun. Dalam Python, penanganan eksepsi dilakukan dengan blok try-exception. Python memiliki sejumlah besar pengecualian bawaan untuk menangani masalah tipikal, seperti IndexError, KeyError, NameError, TypeError, ValueError, dll. ValueError Python terjadi ketika suatu fungsi dipanggil dengan tipe argumen yang tepat tetapi dengan nilai yang salah. Jenis kesalahan ini sering terjadi selama perhitungan matematis, ketika Python ValueError muncul. Kami akan membahas proses untuk menanganinya dengan Python Saat pengguna memanggil fungsi dengan nilai tidak valid tetapi argumen valid, Python memunculkan ValueError. Meskipun nilainya adalah argumen yang benar, biasanya terjadi dalam proses matematika yang memerlukan jenis nilai tertentu. Ketika sebuah objek diberi nilai yang salah, Python ValueError dimunculkan. Ini dapat terjadi jika nilainya salah untuk operasi yang dimaksud atau jika nilainya hilang sama sekali. ValueError dimunculkan, misalnya, jika bilangan bulat negatif diberikan ke operasi akar kuadrat Contoh ValueError 1 Kode
Keluaran Penjelasan Output yang ditampilkan setelah menjalankan skrip tersebut adalah sebagai berikut. Output menunjukkan bahwa ValueError terjadi pada baris 2, di mana string "valueerror" dikonversi menggunakan fungsi int() Contoh ValueError 2 Berikut adalah ilustrasi dari Python ValueError yang terjadi saat mencoba mengkuadratkan akar bilangan negatif Kode _Keluaran Penjelasan Matematika. fungsi sqrt() diberikan bilangan bulat negatif pada contoh di atas. Menjalankan kode yang disebutkan di atas menghasilkan ValueError karena fungsi mengharapkan angka positif Sebelum beralih ke topik cara memperbaikinya, mari kita lihat satu topik menarik di ValueError ValueError - MembongkarMengambil nilai dari daftar dan menugaskannya ke daftar variabel disebut sebagai membongkar. Ketika jumlah variabel dan nilai tidak cocok, kesalahan ini terjadi. Ketidaksetaraan mencegah Python mengetahui nilai mana yang harus ditetapkan ke variabel mana. Ini menghasilkan ValueError. terlalu banyak nilai untuk membongkar masalah Sekarang mari kita bahas dua masalah pengecualian yang disebutkan di atas dan bagaimana menyelesaikannya Masalah pertama. Terjadi saat membongkar daftar Bayangkan Anda memiliki daftar buah-buahan dan Anda ingin memberikan beberapa variabel nilai dari daftar tersebut Prosedur ini dapat ditiru di bawah ini
Keluaran Karena ada tiga nilai dalam daftar tetapi kami hanya menetapkannya ke dua variabel, kami menerima traceback ini Oleh karena itu Python tidak dapat menentukan buah mana yang kita sukai - Apel, Mangga, atau Jeruk. Kami dapat menyelesaikan ini dengan cepat
fruit_3 membuat bagian kode ini berfungsi dengan baik karena kita sekarang memiliki jumlah variabel dan nilai daftar yang sama Apel, Mangga, dan Oranye sekarang masing-masing ditetapkan ke buah_1, buah_2, dan buah_3, melalui komunikasi perubahan ini ke Python Masalah Kedua. Membongkar saat pernyataan pengembalian digunakan dalam suatu fungsi. Pertimbangkan bahwa kami ingin membuat fungsi yang menghitung nilai variabel - variabel 1 dan variabel 2, lalu mengembalikan hasilnya untuk digunakan di tempat lain dalam program kami Berikut adalah fungsi yang secara khusus memberi kita jumlah, dan selisih dua variabel Kode _Keluaran Fungsi mengembalikan tiga variabel, tetapi kami hanya meminta dua, maka kesalahan ini terjadi Python tidak tahu dua variabel mana yang kita cari, oleh karena itu kesalahan nilai memberi tahu kita bahwa kita telah membuat kesalahan daripada menganggap dan memberi kita hanya dua nilai (yang dapat merusak program kita nanti jika itu adalah nilai yang salah Anda memiliki beberapa pilihan tentang cara menangkap keluaran fungsi secara efektif. Perbaikan di bawah ini mencakup metode untuk menghindari masalah ini
Program sekarang dapat berjalan tanpa kesalahan karena Python sekarang dapat secara langsung menautkan pengembalian jumlah, produk, dan perbedaan masing-masing ke hasil 1, hasil 2, dan hasil 3 Opsi lain untuk peningkatan program di atas juga dapat menyertakan hanya garis bawah alih-alih result_3 dan mengembalikan output dengan variabel apa pun yang ditetapkan Dalam output, saat mencetak Anda juga dapat menggunakan hasil saja alih-alih mendeklarasikan result_1, result_2, dan result_3 secara terpisah dan mengekstrak hasilnya seperti Anda akan mendapatkan elemen dalam array Penggunaan pengecualian ValueError yang paling umumContoh 1. Tangani ValueError untuk data yang salah Skrip di bawah harus ditempatkan dalam file Python untuk mengumpulkan nilai usia pengguna. Blok coba akan membuang pengecualian ValueError dan menampilkan pesan kesalahan khusus jika pengguna memasukkan nilai non-numerik untuk bidang usia. Jika usia pengguna yang sebenarnya diperoleh, pesan akan dicetak menggunakan nilai usia tersebut Kode _Keluaran Karena masalah di atas adalah program dasar bagi pengguna untuk memeriksa apakah dia memenuhi syarat untuk memilih atau tidak. Jadi ada kemungkinan bagi pengguna untuk mengetikkan nilai non-numerik seperti yang Anda lihat pada tangkapan layar di atas Contoh-2. Penggunaan ValueError Python di dalam dan di luar fungsi Program Python berikut akan mendemonstrasikan bagaimana ValueError digunakan baik di dalam maupun di luar fungsi. Di sini, telah didefinisikan untuk menggunakan fungsi sign() untuk menentukan apakah bilangan bulat positif atau negatif. Ketika nilai argumen yang tidak valid diberikan ke proses, fungsi akan menampilkan ValueError. ValueError yang disediakan oleh fungsi akan ditangkap oleh blok try-exception, yang kemudian akan memberikan pesan kesalahan Kode
Keluaran Soal di atas menjelaskan apakah nilai yang dimasukkan oleh pengguna adalah bilangan positif atau negatif. Jika ada input selain angka, itu akan menampilkan pengecualian di dalam dan di luar fungsi Kegunaan lain dari ValueErrorContoh 1. File membaca IO Skrip Python berikut akan membuka file untuk membaca dan mencetak konten file. Buat file Python. IOError akan ditampilkan jika nama file yang digunakan dalam skrip tidak dapat dijangkau, dan ValueError akan dihasilkan jika file menyertakan karakter alfabet apa pun Contoh 2. Argumen baris perintah Skrip Python berikut akan mengambil angka dari nilai argumen baris perintah. Jika nilai numerik diberikan dalam argumen baris perintah, pesan khusus akan ditulis; Bagaimana ValueError Python diperbaikiBlok coba-kecuali dapat digunakan dalam program Python untuk memperbaiki ValueError. Blok try harus berisi baris kode yang dapat menampilkan ValueError, dan blok exception harus memiliki kode untuk menangkap dan menangani masalah Kode _Keluaran Blok coba-kecuali digunakan dalam kasus ini untuk memeriksa ValueError. Blok exception dalam kode di atas mendeteksi ValueError dan menanganinya, menghasilkan keluaran yang ditunjukkan di atas KesimpulanPengembang perangkat lunak selalu menangani pengecualian apa pun yang terjadi dalam suatu program. Untuk menjadi pengembang yang sukses, selalu penting untuk menjadi penguji, debugger, dan kompiler yang baik. Jadi kita telah melihat apa itu ValueError di Python dan bagaimana cara memperbaikinya menggunakan try dan exception Nilai dalam Python adalah data yang disimpan di dalam item tertentu. ValueError dalam Python menunjukkan bahwa ada masalah dengan program yang Anda coba tetapkan insentifnya. Ini jangan disamakan dengan tipe Python. Oleh karena itu, ketika argumen yang tepat dan valid diterima, Python ValueError terjadi; . Selain itu, situasinya tidak boleh dijelaskan dengan pengecualian yang lebih tepat, seperti IndexError Bagaimana Anda mengembalikan pengecualian kesalahan nilai dengan Python?Untuk mengatasi ValueError dalam kode Python, blok coba-kecuali dapat digunakan . Baris kode yang dapat membuang ValueError harus ditempatkan di blok try, dan blok exception dapat menangkap dan menangani kesalahan.
Bagaimana Anda menunjukkan kesalahan nilai dengan Python?Berikut adalah contoh sederhana untuk menangani pengecualian ValueError menggunakan blok coba-kecuali . import matematika x = int(input('Masukkan angka positif. \n')) coba. print(Akar Kuadrat dari {x} adalah {math. sqrt(x)}') kecuali ValueError sebagai ve. print(f'Anda memasukkan {x}, yang bukan bilangan positif. |