Tutorial Class/Enum List File List Compound Members

# RtError.h

    00001 /************************************************************************/
    00010 /************************************************************************/
    00011
    00012 #ifndef RTERROR_H
    00013 #define RTERROR_H
    00014
    00015 #include <iostream>
    00016 #include <string>
    00017
    00018 class RtError
    00019 {
    00020 public:
    00022   enum Type {
    00023     WARNING,
    00024     DEBUG_WARNING,
    00025     UNSPECIFIED,
    00026     NO_DEVICES_FOUND,
    00027     INVALID_DEVICE,
    00028     INVALID_STREAM,
    00029     MEMORY_ERROR,
    00030     INVALID_PARAMETER,
    00031     DRIVER_ERROR,
    00032     SYSTEM_ERROR,
    00033     THREAD_ERROR
    00034   };
    00035
    00036 protected:
    00037   std::string message_;
    00038   Type type_;
    00039
    00040 public:
    00042   RtError(const std::string& message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type) {}
    00043
    00045   virtual ~RtError(void) {};
    00046
    00048   virtual void printMessage(void) { std::cerr << '\n' << message_ << "\n\n"; }
    00049
    00051   virtual const Type& getType(void) { return type_; }
    00052
    00054   virtual const std::string& getMessage(void) { return message_; }
    00055
    00057   virtual const char *getMessageString(void) { return message_.c_str(); }
    00058 };
    00059
    00060 #endif

| ©2003-2009 Gary P. Scavone, McGill University. All Rights Reserved. Maintained by Gary P. Scavone, gary at music.mcgill.ca