Assertion Error - Python - GeeksforGeeks

Assertion Error - Python

Last Updated : 26 Jun, 2026

An AssertionError occurs when an assert statement evaluates to False. Assertions are commonly used during development to verify assumptions, validate inputs and detect logical errors early in a program.

Python
x = 10
y = 0

assert y != 0, "Denominator cannot be zero"
print(x / y)

Output:

ERROR!
Traceback (most recent call last):
File "<main.py>", line 4, in <module>
AssertionError: Denominator cannot be zero

Explanation: The statement assert y != 0 checks whether y is non-zero. Since the condition is False, Python raises an AssertionError and displays the provided message.

Syntax

assert condition, error_message

Parameters:

  • condition: Boolean expression that must evaluate to True.
  • error_message (Optional): Message displayed when the assertion fails.

Examples

1. Basic Assertion Check: Assertions can be used to validate values before performing an operation.

Python
age = -5

assert age >= 0, "Age cannot be negative"
print(age)

Output

ERROR!
Traceback (most recent call last):
File "<main.py>", line 3, in <module>
AssertionError: Age cannot be negative

Explanation: assert age >= 0 ensures that the age value is valid. Since age is negative, an AssertionError is raised.

2. Handling AssertionError with try-except: An AssertionError can be caught and handled using a try-except block.  

Python
try:
    marks = -10
    assert marks >= 0, "Marks cannot be negative"
except AssertionError as e:
    print(e)

Output
Marks cannot be negative

Explanation: The failed assertion raises an exception, which is caught by except AssertionError as e, allowing the program to continue gracefully.

3. Validating Function Inputs: Assertions are useful for checking function arguments before processing them.on

Python
def withdraw(balance, amount):
    assert amount <= balance, "Insufficient balance"
    return balance - amount

print(withdraw(5000, 2000))
print(withdraw(3000, 4000))

Output

3000
ERROR!
Traceback (most recent call last):
File "<main.py>", line 6, in <module>
File "<main.py>", line 2, in withdraw
AssertionError: Insufficient balance

Explanation: assert amount <= balance verifies that the withdrawal amount does not exceed the available balance.

4. Using Assertions in Mathematical Calculations: Assertions can verify conditions required for a calculation.

Python
import math

def square_root(n):
    assert n >= 0, "Number must be non-negative"
    return math.sqrt(n)

print(square_root(25))
print(square_root(-4))

Output

5.0
ERROR!
Traceback (most recent call last):
File "<main.py>", line 8, in <module>
File "<main.py>", line 4, in square_root
AssertionError: Number must be non-negative

Explanation: assert n >= 0 ensures that only valid values are passed to math.sqrt().

Uses of Assertions

  • Input Validation: Verify that user or function inputs meet expected conditions.
  • Debugging: Detect logical errors during development.
  • Function Testing: Check whether functions return expected results.
  • State Verification: Ensure important program conditions remain valid throughout execution.
Comment