Exceptions | Oberklasse im catch
-
Hallo
ist es möglich in einem catch-block einfach die Oberklasse anzugeben?
try { doIt(); } catch (Exception1 e){ e.message(); } catch (Exception2 e){ e.message(); } catch (Exception3 e){ e.message(); }try { doIt(); } catch (Exception e){ e.message(); }also ich bekomme Fehlermeldung.. muss man was bestimmtes beachten?
#ifndef EXCEPTION_H #define EXCEPTION_H class Exception{ public: virtual void message(); }; #endif /* PEXCEPTION_H_ */#ifndef INDEX_OUT_OF_BOUNDS_EXCEPTION_INCLUDED #define INDEX_OUT_OF_BOUNDS_EXCEPTION_INCLUDED #include <iostream> #include "PException.h" class IndexOutOfBoundsException : public Exception{ private: int maxIndex; int actualIndex; public: IndexOutOfBoundsException(int maxIndex, int actualIndex); void message(); }; #endifDanke schon mal
-
Zuerst einmal solltest du sagen, was für eine Fehlermeldung du erhältst.
Aber versuche mal die Exception per Referenz zu fangen:
try { doIt(); } catch (Exception &e) { e.message(); }
-
Dit_ schrieb:
also ich bekomme Fehlermeldung..
Es wäre gut, wenn du die Fehlermeldung nächstes Mal auch angeben könntest.
-
Dit_ schrieb:
muss man was bestimmtes beachten?
Ja. Exceptions möglichst per Referenz fangen, nicht per Value.
Was noch fehlt kann man dir ohne die Fehlermeldung nicht sagen...