fork(2) download
  1. #include <iostream>
  2. #include <exception>
  3. #include <string>
  4. using namespace std;
  5.  
  6. class Fracao {
  7. private:
  8. int numerador;
  9. int denominador;
  10. public:
  11. Fracao(int numerador, int denominador);
  12. };
  13.  
  14. Fracao::Fracao(int numerador, int denominador) {
  15. this->numerador = numerador;
  16. if(denominador != 0) {
  17. this->denominador = denominador;
  18. } else {
  19. throw "Impossivel dividir por zero";
  20. }
  21. }
  22.  
  23. Fracao HandleExceptionFracao(int numerador, int denominador) {
  24. try {
  25. Fracao f(numerador, denominador);
  26. return f;
  27. } catch (const char* msg) {
  28. cerr << "Erro: " << msg << endl;
  29. } catch(...) {
  30. cerr << "Erro desconhecido\n";
  31. }
  32. }
  33.  
  34. int main() {
  35. Fracao f1 = HandleExceptionFracao(1, 0);
  36. }
Success #stdin #stdout #stderr 0s 3464KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Erro: Impossivel dividir por zero