Wyjątki 1. Deklarujemy i definiujemy klasę Wyjatek dziedziczącą po
Transkrypt
Wyjątki 1. Deklarujemy i definiujemy klasę Wyjatek dziedziczącą po
Wyjątki 1. Deklarujemy i definiujemy klasę Wyjatek dziedziczącą po klasie std::exception, przyjmującą w konstruktorze nazwę metody wyrzucającej wyjątek. 2. Deklarujemy i definiujemy klasy Blad_Tablicy i Blad_Danych dziedziczące po klasie Wyjatek, przyjmujące w konstruktorze nazwę metody wyrzucającej wyjątek. 3. Deklarujemy i definiujemy klasy BrakMiejsca i PozaZasiegiem dziedziczące po klasie Bład_Tablicy, przyjmujące w konstruktorze nazwę metody wyrzucającej wyjątek. 4. W metodzie void CrttiDlg::OnPaint()w trakcie rysowania figur wyrzucamy wyjątek Blad_Tablicy jeżeli w tablicy tabfig przechowywany jest NULL zamiast wskaźnika na figurę 5. W metodzie void Cprostokat::rysuj(CPaintDC*dc) wyrzucamy wyjątek Wyjatek jeżeli prostokąt nie mieści się na formatce. 6. W metodzie void CrttiDlg::addFigure(CString & fig) wyrzucamy wyjątek Blad_Danych jeżeli podany tekst nie był : ‘p’ ‘pd’ , ‘t’, ‘e’ lub ‘null’ 7. W metodach klasy CTablica wyrzucamy wyjątek BrakMiejsca i PozaZasiegiem 8. W metodzie void CrttiDlg::OnBnClickedButton1() i void CrttiDlg::OnPaint() przechwytujemy wyjątki i dodajemy rodzaj wyjątku i gdzie został wywołany (metoda std::exception.what()) do tabstr. W metodzie rysuj nie przerywamy rysowania figur po obsłudze wyjątku. 9. W metodzie void CrttiDlg::addFigure(CString & fig) przechwytujemy wyjątek informujący, że figura nie została dodana do wektora, usuwamy figurę i wyrzucamy wyjątek do dalszej obsługi.