Bird
Raised Fist0
C++programming~5 mins

Try–catch block in C++ - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of a try–catch block in C++?
A try–catch block is used to handle exceptions (errors) that may occur during program execution, allowing the program to continue running or handle the error gracefully instead of crashing.
Click to reveal answer
beginner
What keyword starts a block of code where exceptions might occur?
The try keyword starts a block of code where exceptions might be thrown.
Click to reveal answer
beginner
What keyword is used to catch and handle exceptions thrown in the try block?
The catch keyword is used to define a block that handles exceptions thrown in the try block.
Click to reveal answer
intermediate
How do you catch different types of exceptions in C++?
You can write multiple catch blocks after a try block, each specifying a different exception type to handle different errors separately.
Click to reveal answer
intermediate
What happens if an exception is thrown but not caught in a try–catch block?
If an exception is thrown and not caught, the program will terminate and may display an error message or crash.
Click to reveal answer
Which keyword begins the block where exceptions are tested in C++?
Athrow
Btry
Ccatch
Dexcept
What does the catch block do?
AHandles an exception
BThrows an exception
CStarts the program
DEnds the program
How can you handle multiple exception types?
AUse multiple catch blocks
BUse multiple try blocks
CUse one catch block with no parameters
DUse if-else statements
What happens if no catch block matches the thrown exception?
AThe program continues normally
BThe exception is ignored
CThe exception is automatically handled
DThe program terminates
Which keyword is used to throw an exception in C++?
Atry
Bcatch
Cthrow
Dexcept
Explain how a try–catch block works in C++ and why it is useful.
Think about what happens when an error occurs and how the program can respond.
You got /4 concepts.
    Describe how you can handle different types of exceptions using try–catch blocks.
    Consider how you might want to respond differently to different errors.
    You got /3 concepts.

      Practice

      (1/5)
      1.

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

      easy
      A. To handle errors and exceptions safely during program execution
      B. To speed up the program by skipping code
      C. To declare variables globally
      D. To create loops that run multiple times

      Solution

      1. Step 1: Understand the role of try block

        The try block contains code that might cause an error or exception.
      2. Step 2: Understand the role of catch block

        The catch block handles the error so the program does not crash.
      3. Final Answer:

        To handle errors and exceptions safely during program execution -> Option A
      4. Quick Check:

        Try-catch handles errors = B [OK]
      Hint: Try-catch blocks catch errors to keep programs running [OK]
      Common Mistakes:
      • Thinking try-catch speeds up code
      • Confusing try-catch with loops
      • Using try-catch to declare variables
      2.

      Which of the following is the correct syntax to start a try block in C++?

      ?
      easy
      A. catch {
      B. try (
      C. try:
      D. try {

      Solution

      1. Step 1: Recall try block syntax

        The try block starts with the keyword try followed by curly braces { }.
      2. Step 2: Identify correct option

        Only try { uses try { which is correct syntax to start the block.
      3. Final Answer:

        try { -> Option D
      4. Quick Check:

        Try block starts with try { = C [OK]
      Hint: Try block always starts with 'try {' in C++ [OK]
      Common Mistakes:
      • Using parentheses instead of curly braces
      • Starting with catch instead of try
      • Using colon after try
      3.

      What will be the output of the following C++ code?

      try {
          int x = 5 / 0;
          std::cout << "Result: " << x << std::endl;
      } catch (const std::exception& e) {
          std::cout << "Caught exception" << std::endl;
      }
      medium
      A. Result: 0
      B. Caught exception
      C. Program crashes with division by zero error
      D. No output

      Solution

      1. Step 1: Analyze division by zero in C++

        Integer division by zero causes undefined behavior and usually crashes the program; it does not throw a standard exception.
      2. Step 2: Check catch block type

        The catch block catches std::exception types, but division by zero does not throw this exception automatically.
      3. Final Answer:

        Program crashes with division by zero error -> Option C
      4. Quick Check:

        Integer division by zero crashes = D [OK]
      Hint: Division by zero crashes, not caught by std::exception [OK]
      Common Mistakes:
      • Assuming catch block catches all errors
      • Expecting output 'Caught exception'
      • Thinking division by zero returns zero
      4.

      Identify the error in this C++ code snippet:

      try {
          throw 10;
      } catch (int e) {
          std::cout << "Caught int: " << e << std::endl;
      } catch (...) {
          std::cout << "Caught unknown" << std::endl;
      }
      medium
      A. The catch block for int should come after catch(...)
      B. No error; code is correct
      C. Multiple catch blocks are not allowed
      D. Throwing int is invalid

      Solution

      1. Step 1: Check throw and catch types

        The code throws an int and catches it with catch(int e), which matches correctly.
      2. Step 2: Verify catch block order

        The specific catch catch(int e) comes before the catch-all catch(...), which is correct.
      3. Final Answer:

        No error; code is correct -> Option B
      4. Quick Check:

        Throw int caught by int catch first = A [OK]
      Hint: Specific catch blocks must come before catch(...) [OK]
      Common Mistakes:
      • Placing catch(...) before specific catch
      • Thinking multiple catch blocks are invalid
      • Believing throwing int is not allowed
      5.

      Consider this code snippet:

      try {
          std::string s = "hello";
          int n = std::stoi(s);
          std::cout << n << std::endl;
      } catch (const std::invalid_argument& e) {
          std::cout << "Invalid argument caught" << std::endl;
      } catch (...) {
          std::cout << "Other exception caught" << std::endl;
      }

      What will be the output and why?

      hard
      A. Invalid argument caught
      B. Other exception caught
      C. hello
      D. Program crashes

      Solution

      1. Step 1: Understand std::stoi behavior

        Trying to convert "hello" to int using std::stoi throws std::invalid_argument exception because "hello" is not a number.
      2. Step 2: Check catch blocks

        The first catch block catches std::invalid_argument exceptions and prints "Invalid argument caught".
      3. Final Answer:

        Invalid argument caught -> Option A
      4. Quick Check:

        std::stoi throws invalid_argument for non-numeric string = A [OK]
      Hint: std::stoi throws invalid_argument on bad input [OK]
      Common Mistakes:
      • Expecting program to print 'hello'
      • Assuming catch(...) runs instead of specific catch
      • Thinking program crashes without 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