00001 //-------------------------------------------------------------------------- 00002 // File and Version Information: 00003 // $Id: Exceptions.cpp 7525 2014-01-13 19:52:29Z salnikov@SLAC.STANFORD.EDU $ 00004 // 00005 // Description: 00006 // Class Exceptions... 00007 // 00008 // Author List: 00009 // Andrei Salnikov 00010 // 00011 //------------------------------------------------------------------------ 00012 00013 //----------------------- 00014 // This Class's Header -- 00015 //----------------------- 00016 #include "PSEvt/Exceptions.h" 00017 00018 //----------------- 00019 // C/C++ Headers -- 00020 //----------------- 00021 #include <boost/lexical_cast.hpp> 00022 00023 //------------------------------- 00024 // Collaborating Class Headers -- 00025 //------------------------------- 00026 00027 //----------------------------------------------------------------------- 00028 // Local Macros, Typedefs, Structures, Unions and Forward Declarations -- 00029 //----------------------------------------------------------------------- 00030 00031 // ---------------------------------------- 00032 // -- Public Function Member Definitions -- 00033 // ---------------------------------------- 00034 00035 namespace PSEvt { 00036 00037 Exception::Exception(const ErrSvc::Context& ctx, const std::string& what) 00038 : ErrSvc::Issue(ctx, "PSEvt::Exception: " + what) 00039 { 00040 } 00041 00042 ExceptionDuplicateKey::ExceptionDuplicateKey(const ErrSvc::Context& ctx, const EventKey& key) 00043 : Exception(ctx, "duplicate key: " + boost::lexical_cast < std::string > (key)) 00044 { 00045 } 00046 00047 ExceptionSourceFormat::ExceptionSourceFormat(const ErrSvc::Context& ctx, const std::string& format) 00048 : Exception(ctx, "Source string cannot be parsed: '" + format + "'") 00049 { 00050 } 00051 00052 ExceptionNoAliasMap::ExceptionNoAliasMap(const ErrSvc::Context& ctx) 00053 : Exception(ctx, "Alias name used but alias map is not defined") 00054 { 00055 } 00056 00057 } // namespace PSEvt