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