#include #include // Function declarations double current( double voltage, double resistance ); // Function definitions int main() { double const voltage{ 12.0 }; double resistances[]{ 4.0, 2.0, 0.0, -3.0, 6.0 }; for ( double resistance : resistances ) { std::cout << std::endl << "Resistance: " << resistance << " ohms" << std::endl; try { double amps{ current( voltage, resistance ) }; std::cout << "Current: " << amps << " A" << std::endl; } catch ( std::invalid_argument const &e ) { std::cout << ">> Cannot calculate the current: " << e.what() << std::endl; } } return 0; } // Calculate the current through a resistance. double current( double voltage, double resistance ) { if ( resistance <= 0.0 ) { throw std::invalid_argument{ "resistance must be positive" }; } return voltage/resistance; }