Something went wrong. Try again.
Java--'s try/catch projects.intra.42.fr/projects/cpp-module-05
Something went wrong. Try again.
5.1 kB · 167 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168#include <exception>#include <iostream>#include <Bureaucrat.hpp>#include <Form.hpp>
int main() { { Bureaucrat franck; std::cout << franck << std::endl; franck.incrementGrade(); std::cout << franck << std::endl;
Bureaucrat alain("Alain"); std::cout << alain << std::endl; alain.incrementGrade(); std::cout << alain << std::endl;
Bureaucrat james("James", 1); std::cout << james << std::endl; james.decrementGrade(); std::cout << james << std::endl; }
std::cout << "================ Exceptions ================" << std::endl; { std::cout << "=== Decrement too low ===" << std::endl; try { Bureaucrat franckAlainJamesLeboeuf; std::cout << franckAlainJamesLeboeuf << std::endl; franckAlainJamesLeboeuf.decrementGrade(); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Increment too high ===" << std::endl; try { Bureaucrat franckAlainJamesLeboeuf("Franck Alain James Leboeuf", 1); std::cout << franckAlainJamesLeboeuf << std::endl; franckAlainJamesLeboeuf.incrementGrade(); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Construct too low ===" << std::endl; try { Bureaucrat franckAlainJamesLeboeuf("Franck Alain James Leboeuf", 151); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Construct too high ===" << std::endl; try { Bureaucrat franckAlainJamesLeboeuf("Franck Alain James Leboeuf", 0); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; } }
std::cout << "================================ Forms ================================" << std::endl; { Bureaucrat franck; Form vente; std::cout << vente << std::endl; vente.beSigned(franck); std::cout << vente << std::endl; Form vente2; std::cout << vente2 << std::endl; franck.signForm(vente2); std::cout << vente2 << std::endl;
Bureaucrat alain("Alain"); Form contrat("Contrat"); std::cout << contrat << std::endl; contrat.beSigned(alain); std::cout << contrat << std::endl; Form contrat2("Contrat2"); std::cout << contrat2 << std::endl; alain.signForm(contrat2); std::cout << contrat2 << std::endl;
Bureaucrat james("James", 1); Form achat("Achat", 1, 1); std::cout << achat << std::endl; achat.beSigned(james); std::cout << achat << std::endl; Form achat2("Achat2", 1, 1); std::cout << achat2 << std::endl; james.signForm(achat2); std::cout << achat2 << std::endl;
Bureaucrat franckAlainJamesLeboeuf("Franck Alain James Leboeuf", 1); Form contratAlternance("Contrat Alternance", 1, 1); std::cout << contratAlternance << std::endl; contratAlternance.beSigned(franckAlainJamesLeboeuf); std::cout << contratAlternance << std::endl; contratAlternance.beSigned(franckAlainJamesLeboeuf); std::cout << contratAlternance << std::endl; Form contractAlternance2("Contrat Alternance 2", 1, 1); franckAlainJamesLeboeuf.signForm(contractAlternance2); std::cout << contractAlternance2 << std::endl; franckAlainJamesLeboeuf.signForm(contractAlternance2); std::cout << contractAlternance2 << std::endl; }
std::cout << "================ Exceptions ================" << std::endl; { std::cout << "=== Construct both grade too low ===" << std::endl; try { Form vente("Vente", 151, 151); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Construct both grade too high ===" << std::endl; try { Form vente("Vente", 0, 0); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Construct to sign grade too low ===" << std::endl; try { Form vente("Vente", 151, 150); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Construct to sign grade too high ===" << std::endl; try { Form vente("Vente", 0, 0); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Construct to execute grade too low ===" << std::endl; try { Form vente("Vente", 150, 151); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Construct to execute grade too high ===" << std::endl; try { Form vente("Vente", 150, 0); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Grade to be signed too low ===" << std::endl; try { Bureaucrat franck; Form vente("Vente", 1, 1); vente.beSigned(franck); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; }
std::cout << "=== Grade to sign form too low ===" << std::endl; try { Bureaucrat franck; Form vente("Vente", 1, 1); franck.signForm(vente); } catch (const std::exception& exception) { std::cout << exception.what() << std::endl; } }}