Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

RawFileExceptions.h

Go to the documentation of this file.
00001 #ifndef BES_RAWFILE_EXCEPTIONS_H
00002 #define BES_RAWFILE_EXCEPTIONS_H
00003 
00004 #include <string>
00005 
00006 class RawFileException {
00007    public:
00008       virtual ~RawFileException() {}
00009 
00010       virtual void print() const;
00011 };
00012 
00013 class RawExMessage : public RawFileException {
00014    public :
00015       RawExMessage(const char* msg) : m_msg(msg) {}
00016       virtual ~RawExMessage() {}
00017 
00018       virtual void print() const;
00019 
00020    private :
00021       std::string m_msg;
00022 };
00023 
00024 class InvalidRawFile : public RawFileException {
00025    public:
00026       InvalidRawFile(const char* filename) : m_filename(filename) {}
00027       virtual ~InvalidRawFile() {}
00028 
00029       virtual void print() const;
00030 
00031    private:
00032       std::string m_filename;
00033 };
00034 
00035 class BadInputStream : public RawFileException {
00036    public:
00037       BadInputStream(const char* block_name) : m_blockName(block_name) {}
00038       virtual ~BadInputStream() {}
00039 
00040       virtual void print() const;
00041 
00042    private:
00043       std::string m_blockName;
00044 };
00045 
00046 class WrongMarker : public RawFileException {
00047    public:
00048       WrongMarker(uint32_t expect, uint32_t value) : m_expect(expect), m_value(value) {}
00049       virtual ~WrongMarker() {}
00050 
00051       virtual void print() const;
00052 
00053    private:
00054       uint32_t m_expect;
00055       uint32_t m_value;
00056 };
00057 
00058 class UnexpectedRecordSize : public RawFileException {
00059    public:
00060       UnexpectedRecordSize(const char* block_name, uint32_t expect, uint32_t value)
00061          : m_blockName(block_name), m_expect(expect), m_value(value) {
00062          }
00063       virtual ~UnexpectedRecordSize() {}
00064 
00065       virtual void print() const;
00066 
00067    private:
00068       std::string m_blockName;
00069       uint32_t m_expect;
00070       uint32_t m_value;
00071 };
00072 
00073 class ReachEndOfFile : public RawFileException {
00074    public:
00075       ReachEndOfFile(const char* fileName)
00076          : m_fileName(fileName) {
00077          }
00078       virtual ~ReachEndOfFile() {}
00079 
00080       virtual void print() const;
00081       void print(const char* fname) const;
00082 
00083    private:
00084       std::string m_fileName;
00085 };
00086 
00087 class ReachEndOfFileList : public RawFileException {
00088    public :
00089       virtual void print() const;
00090 };
00091 
00092 class FailedToWrite : public RawFileException {
00093    public:
00094       FailedToWrite(const char* block_name) : m_blockName(block_name) {
00095       }
00096       virtual ~FailedToWrite() {}
00097 
00098       virtual void print() const;
00099 
00100    private:
00101       std::string m_blockName;
00102 };
00103 
00104 #endif

Generated on Wed Feb 2 15:41:34 2011 for BOSS6.5.5 by  doxygen 1.3.9.1