📖 Scenario: You are writing a simple calculator program that divides two numbers. Sometimes users might enter zero as the divisor, which causes an error. You want to handle this error gracefully.
🎯 Goal: Build a program that safely divides two numbers using try and except to catch division errors and print a friendly message.
📋 What You'll Learn
Create two variables with exact values for numerator and denominator
Create a variable to store the error message
Use a try-except block to perform division and catch ZeroDivisionError
Print the result or the error message
💡 Why This Matters
🌍 Real World
Handling errors like division by zero is common in calculators, data processing, and user input validation to keep programs running smoothly.
💼 Career
Knowing how to use try-except blocks is essential for writing robust software that can handle unexpected problems without crashing.
Progress0 / 4 steps
1
DATA SETUP: Create numerator and denominator variables
Create two variables called numerator and denominator with values 10 and 0 respectively.
Python
Hint
Use = to assign values to variables.
2
CONFIGURATION: Create an error message variable
Create a variable called error_message and set it to the string 'Cannot divide by zero.'.
Python
Hint
Remember to use quotes for strings.
3
CORE LOGIC: Use try-except to divide safely
Write a try block that divides numerator by denominator and stores the result in result. Add an except ZeroDivisionError block that sets result to error_message.
Python
Hint
Use try: and except ZeroDivisionError: blocks.
4
OUTPUT: Print the result
Write a print statement to display the value of result.
Python
Hint
Use print(result) to show the output.
Practice
(1/5)
1. What is the main purpose of using a try-except block in Python?
easy
A. To speed up the program execution
B. To handle errors and prevent the program from crashing
C. To repeat a block of code multiple times
D. To define a new function
Solution
Step 1: Understand the role of try block
The try block contains code that might cause an error during execution.
Step 2: Understand the role of except block
The except block catches and handles the error so the program does not stop abruptly.
Final Answer:
To handle errors and prevent the program from crashing -> Option B
Quick Check:
Try-except handles errors = B [OK]
Hint: Try-except blocks catch errors to keep programs running [OK]
Common Mistakes:
Thinking try-except speeds up code
Confusing try-except with loops
Using try-except to define functions
2. Which of the following is the correct syntax to catch a ZeroDivisionError in Python?
easy
A. try:
x = 1/0
except ZeroDivisionError:
print('Cannot divide by zero')
B. try:
x = 1/0
catch ZeroDivisionError:
print('Cannot divide by zero')
C. try:
x = 1/0
except:
print('Error')
finally ZeroDivisionError:
D. try:
x = 1/0
except ZeroDivisionError then:
print('Cannot divide by zero')
Solution
Step 1: Identify correct try-except syntax
Python uses try: followed by except ExceptionType: to catch errors.
Step 2: Check each option for syntax errors
try:
x = 1/0
except ZeroDivisionError:
print('Cannot divide by zero') uses correct except ZeroDivisionError: syntax; others use invalid keywords like catch or incorrect formatting.
Final Answer:
try:
x = 1/0
except ZeroDivisionError:
print('Cannot divide by zero') -> Option A
Quick Check:
Correct except syntax = A [OK]
Hint: Use 'except ExceptionType:' to catch specific errors [OK]
The except line must end with a colon ':' to define the block.
Step 2: Identify missing colon
In the code, except ValueError is missing the colon, causing a syntax error.
Final Answer:
Missing colon ':' after except ValueError -> Option C
Quick Check:
except line needs ':' = A [OK]
Hint: Always put ':' after except ExceptionType [OK]
Common Mistakes:
Forgetting colon after except
Adding parentheses after except
Misordering try and except blocks
5. You want to safely convert user input to an integer, using try-except-else and catching ValueError specifically, printing 'Invalid input' for invalid input and 'Input is', num for valid input, without stopping the program. Which code does this?
hard
A. try:
num = int(input('Enter number: '))
except ValueError:
print('Invalid input')
else:
print('Input is', num)
B. try:
num = int(input('Enter number: '))
except:
print('Invalid input')
else:
print('Input is', num)
C. try:
num = int(input('Enter number: '))
except ValueError:
print('Invalid input')
finally:
print('Done')
D. try:
num = int(input('Enter number: '))
except ValueError:
print('Invalid input')
Solution
Step 1: Understand try-except-else structure
The try block attempts conversion; except handles errors; else runs if no error occurs.
Step 2: Check which option prints 'Invalid input' on error and shows input if valid
try:
num = int(input('Enter number: '))
except ValueError:
print('Invalid input')
else:
print('Input is', num) correctly prints 'Invalid input' on ValueError and prints the number if conversion succeeds.
Final Answer:
try:
num = int(input('Enter number: '))
except ValueError:
print('Invalid input')
else:
print('Input is', num) -> Option A
Quick Check:
Use except for errors, else for success = D [OK]
Hint: Use except for errors and else for success actions [OK]
Common Mistakes:
Not using else to handle successful input
Catching all exceptions without specifying
Missing error handling causing crash
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.