57 #ifndef _Exception_H__ 58 #define _Exception_H__ 91 const char* filename,
const char* functionName);
98 const char* what()
const throw();
106 virtual const std::string& getFullDescription()
const;
137 #define CREATE_ORXONOX_EXCEPTION(ExceptionName) \ 138 class ExceptionName##Exception : public Exception \ 141 ExceptionName##Exception(const std::string& description, \ 142 unsigned int lineNumber, const char* filename, \ 143 const char* functionName) \ 144 : Exception(description, lineNumber, filename, functionName) \ 147 ExceptionName##Exception(const std::string& description) \ 148 : Exception(description) \ 151 ~ExceptionName##Exception() throw() { } \ 153 std::string getTypeName() const { return #ExceptionName; } \ 190 #define ThrowException(type, description) \ 191 throw orxonox::exceptionThrowerHelper(type##Exception(static_cast<std::ostringstream&>(std::ostringstream().flush() << description).str(), __LINE__, __FILE__, __FUNCTIONNAME__)) unsigned int lineNumber_
Line on which the exception occurred.
Definition: Exception.h:129
#define _UtilExport
Definition: UtilPrereqs.h:60
std::string filename_
File where the exception occurred.
Definition: Exception.h:131
const T & exceptionThrowerHelper(const T &exception)
Helper function that forwards an exception and displays the message.
Definition: Exception.h:176
std::string description_
User typed text about why the exception occurred.
Definition: Exception.h:128
::std::string string
Definition: gtest-port.h:756
virtual const std::string & getFunctionName() const
Returns the function in which the exception occurred.
Definition: Exception.h:114
Base class for all exceptions (derived from std::exception).
Definition: Exception.h:75
Output level, used for error messages which are important for developers.
Definition: OutputDefinitions.h:95
virtual unsigned int getLineNumber() const
Returns the line number on which the exception occurred.
Definition: Exception.h:112
OutputStream & orxout(OutputLevel level=level::debug_output, const OutputContextContainer &context=context::undefined())
This helper function returns a reference to a commonly used instance of OutputStream.
Definition: Output.h:81
CREATE_ORXONOX_EXCEPTION(General)
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
Shared library macros, enums, constants and forward declarations for the util library ...
Defines the helper function orxout() and includes all necessary headers to use the output system...
Definition: InputPrereqs.h:78
std::string fullDescription_
Full description with line, file and function.
Definition: Exception.h:133
std::string functionName_
Function (including namespace and class) where the exception occurred.
Definition: Exception.h:130
virtual ~Exception()
Needed for compatibility with std::exception.
Definition: Exception.h:96
virtual const std::string & getDescription() const
Returns the short developer written exception.
Definition: Exception.h:110
virtual const std::string & getFilename() const
Returns the filename in which the exception occurred.
Definition: Exception.h:116