00001 #ifndef DETDESCCNV_XMLCNVSVC_XMLCNVEXCEPTION_H
00002 #define DETDESCCNV_XMLCNVSVC_XMLCNVEXCEPTION_H 1
00004 #include <string>
00006 #include "GaudiKernel/Kernel.h"
00007 #include "GaudiKernel/GaudiException.h"
00008
00009
00011 enum Status
00012 {
00013 CANT_QUERY_INTERFACE = 2,
00014 CANT_RETRIEVE_OBJECT,
00015 INVALID_CLASS_ID,
00016 CORRUPTED_DATA,
00017 STOP_REQUEST,
00018 EXPRESSION_ERROR,
00019 WRONG_DTD_VERSION,
00020 ERROR_ADDING_TO_TS,
00021 LAST
00022 };
00023
00025 class XmlCnvException: public GaudiException
00026 {
00027 public:
00029 inline XmlCnvException( const std::string & message ,
00030 const StatusCode & sc = StatusCode::FAILURE );
00031 inline XmlCnvException( const std::string & message ,
00032 const GaudiException & ge ,
00033 const StatusCode & sc = StatusCode::FAILURE );
00034 inline XmlCnvException( const XmlCnvException& ) ;
00036 virtual inline ~XmlCnvException() throw();
00038 inline const char* getMessage () const;
00039 inline const char* getType () const;
00040 inline const StatusCode& status () const;
00042 virtual inline GaudiException* clone() const;
00044 };
00046 #include "DetDescCnv/XmlCnvException.icpp"
00048
00049
00050 #endif // DETDESCCNV_XMLCNVSVC_XMLCNVEXCEPTION_H
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064