Bird
Raised Fist0
PHPprogramming~15 mins

Try-catch execution flow in PHP - Mini Project: Build & Apply

Choose your learning style10 modes available
Try-catch execution flow
📖 Scenario: Imagine you are writing a simple PHP script that divides two numbers. Sometimes, the divisor might be zero, which causes an error. You want to handle this error gracefully so your program doesn't crash.
🎯 Goal: You will create a PHP script that uses try and catch blocks to handle division by zero errors and print appropriate messages.
📋 What You'll Learn
Create two variables for the dividend and divisor with exact values
Create a variable to hold the result initialized to null
Use a try-catch block to perform division and catch division by zero exceptions
Print the result or an error message depending on the execution flow
💡 Why This Matters
🌍 Real World
Handling errors like division by zero is important in real applications to avoid crashes and provide user-friendly messages.
💼 Career
Understanding try-catch blocks is essential for writing robust PHP code in web development and backend programming.
Progress0 / 4 steps
1
DATA SETUP: Create dividend and divisor variables
Create two variables called $dividend and $divisor with values 10 and 0 respectively.
PHP
Hint

Use $dividend = 10; and $divisor = 0; to create the variables.

2
CONFIGURATION: Create a result variable
Create a variable called $result and set it to null to hold the division result.
PHP
Hint

Initialize $result with null before the try-catch block.

3
CORE LOGIC: Use try-catch to handle division
Write a try block where you divide $dividend by $divisor and assign it to $result. Then write a catch block to catch DivisionByZeroError and set $result to the string 'Error: Division by zero.'.
PHP
Hint

Use try { $result = $dividend / $divisor; } and catch DivisionByZeroError to set the error message.

4
OUTPUT: Print the result
Write a print statement to display the value of $result.
PHP
Hint

Use print($result); to show the output.

Practice

(1/5)
1.

What is the main purpose of a try-catch block in PHP?

easy
A. To handle errors without stopping the program
B. To speed up the execution of the program
C. To create new variables automatically
D. To print output to the screen

Solution

  1. Step 1: Understand the role of try-catch

    The try block contains code that might cause an error, and the catch block handles that error.
  2. Step 2: Identify the purpose

    This structure prevents the program from stopping abruptly by managing errors gracefully.
  3. Final Answer:

    To handle errors without stopping the program -> Option A
  4. Quick Check:

    Try-catch = error handling [OK]
Hint: Try-catch is for error handling, not speed or output [OK]
Common Mistakes:
  • Thinking try-catch speeds up code
  • Confusing try-catch with output commands
  • Believing try-catch creates variables
2.

Which of the following is the correct syntax to start a try-catch block in PHP?

?
easy
A. try() { /* code */ } catch() { /* handle */ }
B. try: /* code */ catch: /* handle */
C. try { /* code */ } catch (Exception $e) { /* handle */ }
D. try[] { /* code */ } catch[] { /* handle */ }

Solution

  1. Step 1: Recall PHP try-catch syntax

    PHP uses curly braces {} to define blocks after try and catch keywords.
  2. Step 2: Match correct syntax

    try { /* code */ } catch (Exception $e) { /* handle */ } correctly uses try { } and catch (Exception $e) { } syntax.
  3. Final Answer:

    try { /* code */ } catch (Exception $e) { /* handle */ } -> Option C
  4. Quick Check:

    Curly braces with try and catch = correct syntax [OK]
Hint: Remember try and catch use curly braces in PHP [OK]
Common Mistakes:
  • Using colons instead of braces
  • Adding parentheses after try or catch
  • Using square brackets instead of braces
3.

What will be the output of this PHP code?

try {
    echo "Start\n";
    throw new Exception("Error happened");
    echo "End\n";
} catch (Exception $e) {
    echo "Caught: " . $e->getMessage() . "\n";
}
echo "Done\n";
medium
A. Start Caught: Error happened Done
B. Start Done
C. Caught: Error happened Done
D. Start End Caught: Error happened Done

Solution

  1. Step 1: Trace code inside try block

    "Start" is printed, then an Exception is thrown, so the next echo "End" is skipped.
  2. Step 2: Catch block runs and prints message

    The catch block prints "Caught: Error happened" and then after try-catch, "Done" is printed.
  3. Final Answer:

    Start Caught: Error happened Done -> Option A
  4. Quick Check:

    Exception stops try, catch prints message, then Done [OK]
Hint: Exception skips rest of try, catch runs, then code continues [OK]
Common Mistakes:
  • Thinking code after throw runs
  • Missing catch block output
  • Assuming program stops after exception
4.

Find the error in this PHP code snippet:

try {
    echo "Hello";
} catch {
    echo "Error caught";
}
medium
A. try block cannot have echo statements
B. Missing exception variable in catch parentheses
C. Missing semicolon after echo statements
D. catch block must come before try block

Solution

  1. Step 1: Check catch block syntax

    In PHP, catch must specify the exception type and variable, like catch (Exception $e).
  2. Step 2: Identify missing part

    The catch block here has no parentheses or variable, causing a syntax error.
  3. Final Answer:

    Missing exception variable in catch parentheses -> Option B
  4. Quick Check:

    Catch needs (Exception $e) [OK]
Hint: Catch always needs (Exception $e) or similar [OK]
Common Mistakes:
  • Omitting exception variable in catch
  • Thinking echo needs semicolon after last statement only
  • Believing catch can come before try
5.

Consider this PHP code:

function divide($a, $b) {
    try {
        if ($b == 0) {
            throw new Exception("Division by zero");
        }
        return $a / $b;
    } catch (Exception $e) {
        return $e->getMessage();
    }
}

echo divide(10, 2) . "\n";
echo divide(5, 0) . "\n";

What will be the output?

hard
A. Error Error
B. 5 0
C. Division by zero Division by zero
D. 5 Division by zero

Solution

  1. Step 1: Analyze divide(10, 2)

    Since 2 is not zero, division happens: 10 / 2 = 5 is returned.
  2. Step 2: Analyze divide(5, 0)

    Since 0 triggers exception, catch returns the message "Division by zero".
  3. Final Answer:

    5 Division by zero -> Option D
  4. Quick Check:

    Valid division returns number; zero divisor returns error message [OK]
Hint: Exception returns message; normal runs return result [OK]
Common Mistakes:
  • Expecting zero instead of error message
  • Thinking exception stops program without catch
  • Confusing return values inside try-catch
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard