IoExceptions.h

00001 #ifndef SCT_IOEXCEPTIONS_H
00002 #define SCT_IOEXCEPTIONS_H
00003 
00004 #include "Sct/Exception.h"
00005 
00006 namespace Sct {
00007 
00014 class IoException : public Exception {
00015 public:
00019     IoException(const string& msg, const string& file, int line) throw();
00020     
00025     IoException(Throwable& cause, const string& file, int line) throw();
00026     
00030     IoException(const string& msg, Throwable& cause, const string& file, int line) throw();
00031     
00032 protected:
00033     IoException() throw() {}        
00034 };    
00035 
00037 typedef IoException IoError;
00038 
00045 class IsException : public IoException {
00046 public:
00050     IsException(int status, const string& msg, const string& file, int line) throw();
00051     
00056     IsException(int status, Throwable& cause, const string& file, int line) throw();
00057     
00061     IsException(int status, const string& msg, Throwable& cause, const string& file, int line) throw();
00062     
00064     int getStatus() const throw();
00065     virtual shared_ptr<Throwable> clone() const throw();
00066     virtual string getMessage() const throw();
00067     
00068 protected:
00069     IsException() throw() {}
00070     
00071     int status;
00072 };
00073 
00074 
00080 class FileException : public IoException {
00081 public:    
00085     FileException(const string& fileName, const string& msg, const string& file, int line) throw();
00086     
00091     FileException(const string& fileName, Throwable& cause, const string& file, int line) throw();
00092     
00096     FileException(const string& fileName, const string& msg, Throwable& cause, const string& file, int line) throw();
00097     
00098     ~FileException() throw() {}
00099     
00101     const string& getFileName() const throw();
00102     virtual shared_ptr<Throwable> clone() const throw();
00103     virtual string getMessage() const throw();
00104     
00105 protected:
00106     FileException() throw() {}       
00107     
00108     string fileName; 
00109 };
00110 
00117 class StreamCorruptedException : public IoException {
00118 public:
00122     StreamCorruptedException(const string& msg, const string& file, int line) throw();
00123     
00128     StreamCorruptedException(Throwable& cause, const string& file, int line) throw();
00129     
00133     StreamCorruptedException(const string& msg, Throwable& cause, const string& file, int line) throw();
00134     
00135 protected:
00136     StreamCorruptedException() throw() {}    
00137 };
00138 
00139 
00145 class NoSuchStreamerException : public IoException {
00146 public:
00150     NoSuchStreamerException(const string& className, const string& msg, const string& file, int line) throw();
00151     
00156     NoSuchStreamerException(const string& className, Throwable& cause, const string& file, int line) throw();
00157     
00161     NoSuchStreamerException(const string& className, const string& msg, Throwable& cause, const string& file, int line) throw();
00162     
00163     ~NoSuchStreamerException() throw() {}
00164     
00166     const string& getClassName() const throw();
00167     virtual shared_ptr<Throwable> clone() const throw();
00168     virtual string getMessage() const throw();
00169     
00170 protected:
00171     NoSuchStreamerException() throw() {}   
00172     
00173     string className;
00174 };
00175 
00176 }
00177 
00178 #endif //SCT_IOEXCEPTIONS_H

Generated on Mon Feb 6 14:01:21 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6