athena/include/Athena/NotImplementedException.hpp

38 lines
1.2 KiB
C++
Raw Normal View History

2014-04-20 09:14:15 +00:00
#ifndef NOTIMPLEMENTEDEXCEPTION_HPP
#define NOTIMPLEMENTEDEXCEPTION_HPP
#include "Athena/Exception.hpp"
namespace Athena
{
namespace error
{
class NotImplementedException : public Exception
{
public:
NotImplementedException(const std::string& message, const std::string& file, const std::string& function, const int line) :
Exception(message, file, function, line)
2015-05-18 23:28:17 +00:00
{
m_exceptionName = "NotImplementedException";
}
2014-04-20 09:14:15 +00:00
};
} // error
} // Athena
#define THROW_NOT_IMPLEMENTED_EXCEPTION() \
2015-05-18 23:28:17 +00:00
do { \
if (atGetExceptionHandler()) {atGetExceptionHandler()(__FILE__, AT_PRETTY_FUNCTION, __LINE__, "NotImplementedException"); return; \
} else { \
throw Athena::error::NotImplementedException(std::string(), __FILE__, AT_PRETTY_FUNCTION, __LINE__); \
} \
} while(0)
2014-04-20 09:14:15 +00:00
2015-05-18 23:28:17 +00:00
#define THROW_NOT_IMPLEMENTED_EXCEPTION_RETURN(ret) \
do { \
if (atGetExceptionHandler()) {atGetExceptionHandler()(__FILE__, AT_PRETTY_FUNCTION, __LINE__, "NotImplementedException"); return ret; \
} else { \
throw Athena::error::NotImplementedException(std::string(), __FILE__, AT_PRETTY_FUNCTION, __LINE__); \
} \
} while(0)
2014-04-20 09:14:15 +00:00
#endif // NOTIMPLEMENTEDEXCEPTION_HPP