Valueerror dalam kode pengguna python

Seperti yang sudah Anda ketahui, pengecualian terjadi saat terjadi kesalahan selama eksekusi skrip. Blok coba-kecuali Python digunakan untuk mengelola pengecualian. Python memiliki banyak pengecualian bawaan untuk menangani kegagalan umum, seperti IndexError, KeyError, NameError, TypeError, Python ValueError, dan seterusnya. Dalam Python, ValueError adalah konsep yang agak mudah. ValueError Python dilemparkan saat Anda menetapkan nilai yang salah ke suatu objek. Itu berarti Python ValueError dimunculkan ketika suatu fungsi menerima argumen dengan tipe yang benar tetapi nilai yang tidak sesuai

Apa itu Python ValueError?

Dalam Python, ValueError terjadi ketika tipe argumen yang benar tetapi nilai yang salah diberikan ke suatu fungsi. Jenis ketidakakuratan ini paling sering terjadi dalam operasi matematika. Ketika ValueError Python muncul dan cara menanganinya dengan Python ditunjukkan dalam artikel ini

Python tidak akan menerima kode Anda ketika Anda memiliki jenis objek yang sama tetapi nilainya salah. Mari kita pahami ini dengan mengambil contoh kehidupan nyata. Misalkan Anda mencoba menempatkan ponsel berukuran 7 inci ke dalam kotak ponsel berukuran 6 inci. Apakah Anda melihat masalahnya? . Singkatnya, itu adalah ValueError Python

Pastikan Anda tidak mencampur Python ValueError dan TypeError. TypeError, sebagai kebalikan dari ValueError, dimunculkan saat operasi dilakukan yang menggunakan tipe objek yang salah atau tidak didukung. Misalnya, pertimbangkan contoh kami sebelumnya, jika Anda mencoba memasukkan TV ke dalam kotak telepon, Python cukup pintar untuk mengetahui bahwa kedua jenis ini tidak cocok.

Mari pertimbangkan contoh sederhana untuk memahami Python ValueError

Berikut adalah output dari programnya

Traceback (most recent call last):
  File "d:\HS\test-code\valueEroor\1.py", line 2, in 
    print(math.sqrt(-1))
ValueError: math domain error

Seperti yang ditunjukkan pada cuplikan kode di atas, Anda akan mendapatkan python ValueError dengan operasi matematika, seperti yang Anda lihat tidak ada yang namanya akar kuadrat dari angka negatif, oleh karena itu python memunculkan ValueError

Bagaimana Cara Kerja Python ValueError?

Seperti dibahas di atas, Kesalahan Nilai dalam python terjadi ketika tipe argumen yang benar tetapi nilai yang salah diberikan ke suatu fungsi. Ada banyak alasan Anda mungkin melihat pop-up Python ValueError dan ini disebutkan di bawah ini

  • Mencoba untuk "membongkar" lebih banyak nilai daripada yang Anda miliki
  • Ketika Anda mencoba untuk beroperasi pada nilai yang tidak ada
  • Nilai tidak mungkin (Misalnya, menemukan akar angka negatif akan menghasilkan pengecualian ValueError)

Langkah-langkah untuk Menghindari Python ValueError

Ada berbagai langkah untuk menghindari Python ValueError. Anda dapat menangani ValueError menggunakan blok coba dan kecuali. Ketika kesalahan muncul dari keluaran yang tidak valid, dalam hal ini, blok coba dan kecuali sangat berguna untuk menangani Python ValueError yang akan Anda pelajari di bagian selanjutnya

Anda juga dapat menggunakan keyword raise untuk menghindari ValueError

Menangani Python ValueError

Mari kita lihat bagaimana Anda dapat menangani Python ValueError menggunakan blok try and exception di python

Pada contoh di bawah ini, bagian utama kode berada di antara blok coba dan kecuali. Pengguna diminta untuk memasukkan usia sekarang. Jika ValueError telah terjadi untuk nilai input, maka blok exception akan dieksekusi

try:
    present_age = int(input("Enter your present age: "))
    '''
    The below condition is checking if the number is greater than or equal to 18
    and less than or equal to 30
    '''
    if present_age >= 18 and present_age <= 30:
       print("You are eligible to drive on the Metas race track.")
    else:
       print("You are not eligible to drive on Metas race track. ")

except for ValueError:
    print("Please enter the age correctly.")
_

Berikut adalah output dari program dengan berbagai jenis input

Enter your present age: 4
You are not eligible to drive on Metas race track.

Enter your present age: 10
You are not eligible to drive on Metas race track.

Enter your present age: 29
You are eligible to drive on the Metas race track.

Contoh Kesalahan Nilai Python

Mari kita ambil beberapa contoh lagi untuk memahami bagaimana Anda bisa menangani Python ValueError

Contoh

Dalam contoh di bawah ini, contoh klasik untuk mendapatkan akar kuadrat dibahas. Kami telah menggunakan blok coba dan kecuali untuk menangani kesalahan

import math

x = int(input('Please enter a positive number to get a square root:\n'))

try:
    print(f'Square Root of the number {x} is {math.sqrt(x)}')
except for ValueError as ve:
    print(f'You entered {x}, which is not a positive number. Please enter a positive number)

Berikut adalah output dari program dengan berbagai jenis input

Please enter a positive number to get a square root:
4
The Square Root of the number 4 is 2.0

Please enter a positive number to get a square root:
10
The Square Root of the number 10 is 3.1622776601683795

Please enter a positive number to get a square root:
64
The Square Root of the number 64 is 8.0

Please enter a positive number to get a square root:
-4
You entered -4, which is not a positive number. Please enter a positive number
_

Contoh

Sekarang, mari kita ambil contoh lain di mana Python ValueError ditangani tanpa blok coba-kecuali dan dengan menggunakan kata kunci kenaikan di dalam fungsi

Apa yang dimaksud dengan ValueError di Python?

1. Apa itu Python ValueError? . Selain itu, situasinya tidak boleh dijelaskan dengan pengecualian yang lebih tepat seperti IndexError

Bagaimana cara memeriksa ValueError dengan Python?

Blok 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. Blok coba-kecuali digunakan dalam kasus ini untuk memeriksa ValueError.

Apa perbedaan antara ValueError dan TypeError di Python?

Dalam Python, ValueError terjadi ketika tipe argumen yang benar tetapi nilai yang salah diberikan ke suatu fungsi. Jenis ketidakakuratan ini paling sering terjadi dalam operasi matematika. TipeError, berlawanan dengan ValueError, dimunculkan saat operasi dilakukan dengan menggunakan tipe objek yang salah atau tidak didukung .

Apakah saya perlu mengimpor ValueError?

Anda tidak perlu mengimpor ValueError . Ini bawaan sehingga Anda selalu dapat menaikkan ValueError().