Back to Blog
Developer guide
PYTHONJune 16, 2026

Python ValueError Examples and Fixes for Developers

As a Python developer, you've likely encountered the dreaded ValueError at some point in your coding journey. This exception occurs when a function or operation receives an argument with an incorrect or invalid value. In this article, we'll delve into some common Python ValueError examples, explore their causes, and provide actionable solutions to help you overcome these errors and write more robust code.

1. ValueError: invalid literal for int() with base 10

This error occurs when the int() function is called with a string that cannot be converted to an integer.

Why It Happens

The cause of this error is typically a string that contains non-numeric characters or is not a valid number.

How to Fix It

To fix this error, make sure to validate the input string by checking if it consists only of digits. You can use the str.isdigit() method to achieve this. If the string is not a valid integer, consider prompting the user for input or returning an error message.


2. ValueError: zero division

This error occurs when the / operator is used to divide a number by zero.

Why It Happens

The cause of this error is typically a programming mistake where the divisor is set to zero.

How to Fix It

To fix this error, ensure that the divisor is never set to zero. You can add a simple check before performing division by using an if statement to verify that the divisor is not zero.


3. ValueError: list index out of range

This error occurs when you try to access an element in a list that is beyond its length.

Why It Happens

The cause of this error is typically accessing an index that is equal to or greater than the list's length.

How to Fix It

To fix this error, make sure to check the list's length before accessing its elements. You can use the len() function to get the list's length and then use an if statement to verify that the index is within the list's bounds.


4. ValueError: cannot convert float to int

This error occurs when you try to convert a float to an integer using the int() function.

Why It Happens

The cause of this error is typically a float that has a decimal part.

How to Fix It

To fix this error, consider rounding the float to the nearest integer using the round() function or use the int() function with the round() function. Alternatively, you can use the math.floor() or math.ceil() functions to truncate the float to an integer.


5. ValueError: invalid datetime format

This error occurs when you try to parse a string into a datetime object using the datetime.strptime() function.

Why It Happens

The cause of this error is typically a string that does not match the expected datetime format.

How to Fix It

To fix this error, ensure that the string matches the expected datetime format. You can use the datetime.strptime() function with the correct format string to parse the string into a datetime object. If the string is invalid, consider catching the ValueError exception and returning an error message.


6. ValueError: not enough values to unpack

This error occurs when you try to unpack a value into multiple variables using the unpacking operator (*).

Why It Happens

The cause of this error is typically a value that does not match the expected number of values.

How to Fix It

To fix this error, ensure that the value matches the expected number of values. You can use an if statement to verify that the value has the correct number of elements before attempting to unpack it. Alternatively, consider using the iter() function to iterate over the value instead of unpacking it.


7. ValueError: max recursion depth exceeded

This error occurs when a recursive function calls itself too many times, exceeding the maximum recursion depth.

Why It Happens

The cause of this error is typically a programming mistake where the recursive function does not terminate properly.

How to Fix It

To fix this error, ensure that the recursive function terminates properly. You can use a base case to stop the recursion or consider using an iterative approach instead.

Conclusion

ValueError exceptions in Python can be frustrating to deal with, but with the knowledge and solutions provided in this article, you'll be better equipped to handle and fix these errors. Remember to validate input, check for division by zero, and use proper error handling to write more robust code. By following these best practices, you'll be able to write more reliable and efficient Python code that minimizes the occurrence of ValueErrors.

Explore More Debugging Resources

- [Browse all PYTHON errors](/languages/python)

- [Browse errors by type](/error-types)

- [Search all documented errors](/search)

- [Use the Error Explainer](/error-explainer-tool)

Browse allPython errors

Related PYTHON Articles

Have a specific error? Get an instant explanation.

Explain an Error