diff options
Diffstat (limited to 'src/cppunit/DynamicLibraryManagerException.cpp')
| -rw-r--r-- | src/cppunit/DynamicLibraryManagerException.cpp | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/src/cppunit/DynamicLibraryManagerException.cpp b/src/cppunit/DynamicLibraryManagerException.cpp index 44a7e62..a5f133b 100644 --- a/src/cppunit/DynamicLibraryManagerException.cpp +++ b/src/cppunit/DynamicLibraryManagerException.cpp @@ -7,27 +7,32 @@ namespace CppUnit DynamicLibraryManagerException::DynamicLibraryManagerException( - const std::string &libraryName ) - : m_cause( loadingFailed ) - , std::runtime_error( "Failed to load dynamic library: " + libraryName ) + const std::string &libraryName, + const std::string &errorDetail, + Cause cause ) + : m_cause( cause ) + , std::runtime_error( "" ) { + if ( cause == loadingFailed ) + m_message = "Failed to load dynamic library: " + libraryName + "\n" + + errorDetail; + else + m_message = "Symbol [" + errorDetail + "] not found in dynamic libary:" + + libraryName; } -DynamicLibraryManagerException::DynamicLibraryManagerException( - const std::string &libraryName, - const std::string &symbol ) - : m_cause( symbolNotFound ) - , std::runtime_error( "Symbol [" + symbol + "] not found in dynamic libary:" + - libraryName ) +DynamicLibraryManagerException::Cause +DynamicLibraryManagerException::getCause() const { + return m_cause; } -DynamicLibraryManagerException::Cause -DynamicLibraryManagerException::getCause() const +const char * +DynamicLibraryManagerException::what() const throw() { - return m_cause; + return m_message.c_str(); } |
