00001 /* 00002 * Copyright (C) 2009 00003 * Robert Bosch LLC 00004 * Research and Technology Center North America 00005 * Palo Alto, California 00006 * 00007 * All rights reserved. 00008 * 00009 *------------------------------------------------------------------------------ 00010 * project ....: Autonomous Technologies 00011 * file .......: rtcException.h 00012 * authors ....: Benjamin Pitzer 00013 * organization: Robert Bosch LLC 00014 * creation ...: 04/14/2008 00015 * modified ...: $Date: 2009-01-26 13:06:31 -0800 (Mon, 26 Jan 2009) $ 00016 * changed by .: $Author: kls1pal $ 00017 * revision ...: $Revision: 23 $ 00018 */ 00019 #ifndef RTCBASE_EXCEPTION_H_ 00020 #define RTCBASE_EXCEPTION_H_ 00021 00022 #include <string> 00023 00024 //== NAMESPACES ================================================================ 00025 namespace rtc { 00026 00027 // Base class for all exceptions. 00028 class Exception 00029 { 00030 public: 00031 // standard c'tor/d'tor 00032 Exception(const std::string& error = std::string()); 00033 virtual ~Exception(); 00034 00035 // get error message 00036 const std::string& getErrorMessage() const; 00037 const std::string& what() const; 00038 00039 protected: 00040 std::string errorMessage; 00041 }; 00042 00043 //============================================================================== 00044 } // NAMESPACE rtc 00045 //============================================================================== 00046 #endif // RTCBASE_EXCEPTION_H_ defined 00047 //============================================================================== 00048