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

Generated on Tue Nov 29 22:58:30 2016 for BOSS_7.0.2 by  doxygen 1.4.7