Skip to main content

26. Defensive Programming

Defensive programming is about writing code that anticipates and guards against errors.


Examples of Defensive Programming​

Validate Inputs​

def divide(a, b):
if b == 0:
raise ValueError("Denominator cannot be zero")
return a / b

Use Defaults Carefully​

def add_item(item, container=None):
if container is None:
container = []
container.append(item)
return container

Fail Fast​

Raise errors early instead of allowing incorrect state to spread.


Practice Challenge​

Write a function safe_average(numbers) that checks the list is not empty before computing the average.


Wrap-Up​

Defensive programming improves reliability by preventing invalid states and handling errors early.