You'll build a calculator that divides numbers but catches division by zero instead of crashing. This teaches the try-catch pattern that separates error detection from error handling.
Without exceptions, you'd check for zero before every division and return error codes. With exceptions, the division function throws when it detects a problem, and the caller catches and handles it.
The normal code path stays clean. This problem demonstrates throwing and catching runtime_error.
Understanding this control flow is key to writing reliable programs.