52 lines
1.0 KiB
C++

#include <iostream>
class DivideByZero {
private:
std::string message;
public:
DivideByZero() : message("ERROR: Division by zero") {
}
void print() {
std::cout << message << std::endl;
}
};
//float divide(int numerator, int denominator) throw (DivideByZero) { //only DivideByZero exception is allowed
//float divide(int numerator, int denominator) throw () { //no exceptions allowed
float divide(int numerator, int denominator) { // all exceptions allowed
if (denominator==0) throw DivideByZero();
return (float)numerator/denominator;
}
void first() {
int num1=1, num2=0;
try {
float res=divide(num1, num2);
std::cout << "Result = " << res << std::endl;
} catch (DivideByZero e) {
e.print();
}
}
/**/
/*
void second() {
int num1=1, num2=0;
float res=divide(num1, num2);
std::cout << "Result = " << res << std::endl;
}
void first() {
try {
second();
} catch (DivideByZero e) {
e.print();
}
}
*/
int main() {
first();
//second();
return 0;
}