Advertisement
Ejejejejejjr

Собственный класс exception

Jan 1st, 2021
305
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <fstream>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. class MyException : public exception
  9. {
  10. public:
  11.    
  12.     //конструктор, принимающий указатель на char, наследующий конструктор класса exception, которому в параметры передается параметр этого конструктора
  13.     MyException(const char* msg, const int dataState) : exception(msg)
  14.     {
  15.         this->dataState = dataState;
  16.     }
  17.    
  18.     int GetDataState(){ return dataState; }
  19.    
  20. private:
  21.     int dataState;
  22. };
  23.  
  24.  
  25. int Func(int value)
  26. {
  27.     if(value == 0)
  28.     {
  29.         throw MyException("Число равно 0", value);
  30.     }
  31.    
  32.     cout << "Value = " << value << endl;
  33. }
  34.  
  35.  
  36. int main(int argc, char *argv[])
  37. {
  38.     setlocale(LC_ALL, "Rus");
  39.     srand(time(NULL));
  40.    
  41.    
  42.     try
  43.     {
  44.         Func(1);
  45.     }
  46.     catch(MyException &ex)
  47.     {
  48.         cout  << "[1] " << ex.what() << "\nКод ошибки - " << ex.GetDataState << endl;
  49.     }
  50.  
  51.     return 0;
  52. }
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement