Purpose of Exception Handling:
- Exception handling in C++ is used to manage and recover from unexpected errors or exceptional situations that might occur during program execution.
- The try block is used to enclose the code that might cause an exception.
- If an exception occurs within the try block, the program jumps to the nearest matching catch block.
- To indicate an error, you can “throw” an exception using the throw keyword.
- Exceptions can be of any type, including standard library exceptions or user-defined types derived from std::exception.
- The catch block is used to handle exceptions thrown within the corresponding try block.
- You can catch exceptions by their types, including base classes, to handle related exceptions in a single block.
- Usually, a reference (often const) to the exception type refers to the caught exception.
- C++ provides a set of standard exception classes, such as std::runtime_error, std::logic_error, and std::invalid_argument, which are derived from std::exception.
Custom Exception Classes:
- You can create your own exception classes by deriving them from std::exception or other existing exception classes.
- Custom exception classes should typically provide a custom error message using the what() function.
Multiple Catch Blocks:
- You can have multiple catch blocks to handle different types of exceptions.
- Catch blocks are evaluated sequentially, and the first matching block is executed.
Order of Catch Blocks:
- Place more specific catch blocks before more general ones. Specific exceptions should be caught before their base classes.
- The program will terminate and display an error message if no catch block within the current scope is able to catch an exception.
- You can use the throw statement inside a catch block to rethrow the caught exception.
- This allows an exception to be caught at one level of the call stack and then handled or rethrown at a higher level.
- Even during exceptions, use exception handling to release memory or close files.
EasyExamNotes © 2023