Obsługa wyjątków i wprowadzenie do niej funkcji

0
#include <iostream>
#include <math.h>

using namespace std;

class Exception{
private: 
         float Kp, R, blad; // Kp-kapital, R-procent 
         int x, n; //x-okres 
         
public: 
        Exception(float,float, int, int) throw(char); //wpisujemy wyjatek i mowimy jakiego typu jest ten wyjatek np: int
        float FV();  //przyszla wartosc kapitalu
        void setKp(float) throw(char) ;
       // void setR(float);
        //void setX(int);
        //void setN(int);
         float Except(float) throw (int);   
        void GetMessage(float);
      };
      
Exception::Exception(float a, float b, int c, int d) throw (char)  //podnosimy wyjatek
{
if(a<=0) throw 'B'; //podnosze wyjatek o wartosci 1
if(b<=0) throw 'C';//podnosze wyjatek o wartosci 2
if(c!=1&&c!=3&&c!=6&&c!=9&&c!=12&&c!=24&&c!=36) throw 'E'; //podnosze wyjatek o wartosci 3
if(d<=0) throw 'D'; //podnosze wyjatek o wartosci 4
Kp=a; R=b; x=c; n=d;
      }
      
      
void Exception::setKp(float a) throw (char)
{
if(a<=0) throw 'A';
Kp=a;
     
     }               
      
float Exception::FV()
{
return Kp* pow(1+R*x/1200,n);
      } 
      
                           
float Exception::Except(float g)throw(int)
{
if(g<0)throw 23;
     }                          

void Exception::GetMessage(float g)
{
     if(g<0)
{
       cout<< "Funkcja na sprawdzenie bledu";
       }                               
       }
int main()
{
   
    
try{ //od sprobuj
Exception a1(100,5,12,1); a1.setKp(100); a1.Except(-1);
cout<< "kapital koncowy= " << a1.FV() << "\n";
}
//catch(int e) {cout<<"wyjatek nr " << e<< "\n";} //blok instrukcji obslugujacej wyjatek
catch(char e1){cout << "wyjatek znakowy= " << e1 << "\n";}
catch (int Except23) {cout << GetMessage() << "\n";}
catch(...){cout << "pozostale wyjatki\n";}
    system("pause"); return 0;
}
 

Ogólnie próbuje do obsługi wyjątków wprowadzić funkcje "GetMessage()", która będzie mi wyświetlała napis o błędzie gdy ten błąd się pojawi.
Prosiłbym o jakieś wskazówki jak mogę to zrobić, gdyż póki co wywala mi błędy i brakuje mi już pomysłów.
Z góry dziękuje.

0

dzieki obczaje

1 użytkowników online, w tym zalogowanych: 0, gości: 1