online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include <iostream> #include <optional> #include <stdexcept> bool safe_divide_1(int numerator, int denominator, double& result) noexcept { if (denominator == 0) return false; result = static_cast<double>(numerator) / denominator; return true; } std::optional<double> safe_divide_2(int numerator, int denominator) noexcept { if (denominator == 0) return std::nullopt; return static_cast<double>(numerator) / denominator; } double safe_divide_3(int numerator, int denominator) { if (denominator == 0) throw std::runtime_error("Division by zero!"); return static_cast<double>(numerator) / denominator; } int main() { // первый вариант double result1; if (safe_divide_1(10, 0, result1)) { std::cout << "Result 1: " << result1 << std::endl; } else { std::cout << "Error 1: Division by zero!" << std::endl; } // второй вариант auto result2 = safe_divide_2(10, 0); if (result2) { std::cout << "Result 2:" << *result2 << std::endl; } else { std::cout << "Error 2: Division by zero!" << std::endl; } // третий вариант try { double result3 = safe_divide_3(10, 0); std::cout << "Result 3: " << result3 << std::endl; } catch (const std::exception &e) { std::cout << "Error 3: " << e.what() << std::endl; } return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue