BambooIsland: C:/Users/easterbunny/Desktop/Echtzeitgraphik-LU/trunk/src/error.h Source File

BambooIsland Abgabe 2

- Main Page
- Related Pages
- Classes
- Files

- File List

# C:/Users/easterbunny/Desktop/Echtzeitgraphik-LU/trunk/src/error.h

    00001 /* Diese Datei definiert die Fehlerklassen, die im Projekt verwendet werden */
    00002 #ifndef N_ERROR_HEADER
    00003 #define N_ERROR_HEADER
    00004
    00005 #include <iostream>
    00006 #include <exception>
    00007 #include <string>
    00008
    00009 using namespace std;
    00010
    00011 static const char *error_prefix = "FEHLER: "; //Damit alle Fehlermeldungen hervorstechen
    00012
    00013 /* Klasse Error - Basisklasse, welche nicht geworfen werden kann
    00014  * sondern lediglich dazu dient, eine Superklasse zu haben von der alle Unterklassen abgeleitet sind */
    00015 class Error : public exception{
    00016 public:
    00017         void printMessage() { cerr << error_prefix; this->printDetails();}
    00018         virtual void printDetails() = 0;
    00019         ~Error() throw() {};
    00020 };
    00021
    00022 /* Klasse FileNotFound - wird geworfen wenn eine bestimmte Datei nicht gefunden wurde.
    00023  * Der Konstruktor erwartet den Dateinamen */
    00024 class FileNotFound: public Error {
    00025 private:
    00026         string filename;
    00027 public:
    00028         FileNotFound(string _filename) : filename(_filename) {};
    00029         void printDetails() { cerr << "Die Datei " << this->filename << " wurde nicht gefunden!" << endl; }
    00030         ~FileNotFound() throw() {};
    00031 };
    00032
    00033 /* Klasse InitFailed - wird geworfen wenn eine Initialisierung fehlgeschlagen ist
    00034  * Der Konstruktor erwartet eine Fehlerbeschreibung und das Subsystem, welches nicht initialisiert werden konnte. */
    00035 class InitFailed: public Error {
    00036 private:
    00037         string description, subsystem;
    00038 public:
    00039         InitFailed(string _subsystem, string _description) : subsystem(_subsystem), description(_description) {};
    00040         void printDetails() { cerr << subsystem << " konnte nicht initialisiert werden. Fehlermeldung: " << this->description << endl; }
    00041         ~InitFailed() throw() {};
    00042 };
    00043
    00044
    00046 class XMLParsingError: public Error {
    00047 private:
    00048         string description;
    00049 public:
    00050         XMLParsingError(string _description) : description(_description) {};
    00051         void printDetails() { cerr << "XML parse error: " << this->description << endl; }
    00052         ~XMLParsingError() throw() {};
    00053 };
    00054
    00056 class MeshParsingError: public Error {
    00057 private:
    00058         string description;
    00059 public:
    00060         MeshParsingError(string _description) : description(_description) {};
    00061         void printDetails() { cerr << "MeshParsingError: " << this->description << endl; }
    00062         ~MeshParsingError() throw() {};
    00063 };
    00064
    00066 class GameError: public Error {
    00067 private:
    00068         string description;
    00069 public:
    00070         GameError(string _description) : description(_description) {};
    00071         void printDetails() { cerr << "GameError: " << this->description << endl; }
    00072         ~GameError() throw() {};
    00073 };
    00074
    00075
    00077 class ImgError: public Error {
    00078 private:
    00079         string description;
    00080 public:
    00081         ImgError(string _description) : description(_description) {};
    00082         void printDetails() { cerr << "ImgError: " << this->description << endl; }
    00083         ~ImgError() throw() {};
    00084 };
    00085
    00086
    00088 class ArgumentError: public Error {
    00089 private:
    00090         string description;
    00091 public:
    00092         ArgumentError(string _description) : description(_description) {};
    00093         void printDetails() { cerr << "ArgumentError: " << this->description << endl; }
    00094         ~ArgumentError() throw() {};
    00095 };
    00096
    00098 class AssertError: public Error {
    00099 private:
    00100         string description;
    00101 public:
    00102         AssertError(string _description) : description(_description) {};
    00103         void printDetails() { cerr << "Assertion failed: " << this->description << endl; }
    00104         ~AssertError() throw() {};
    00105 };
    00106
    00107 #endif

All Classes Functions Variables Enumerations Enumerator