Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Try-except execution flow
📖 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]