posix_error_handler.hpp
Go to the documentation of this file.
00001 
00013 /*****************************************************************************
00014 ** Ifdefs
00015 *****************************************************************************/
00016 
00017 #ifndef ECL_EXCEPTIONS_POSIX_EXCEPTION_HPP_
00018 #define ECL_EXCEPTIONS_POSIX_EXCEPTION_HPP_
00019 
00020 /*****************************************************************************
00021 ** Disable check
00022 *****************************************************************************/
00023 
00024 #include <ecl/config/ecl.hpp>
00025 #ifndef ECL_DISABLE_EXCEPTIONS
00026 
00027 /*****************************************************************************
00028 ** Includes
00029 *****************************************************************************/
00030 
00031 #include <cstring> // strerror function
00032 #include <string>
00033 #include <errno.h>
00034 #include "standard_exception.hpp"
00035 
00036 /*****************************************************************************
00037 ** Namespaces
00038 *****************************************************************************/
00039 
00040 namespace ecl {
00041 
00042 /*****************************************************************************
00043 ** Interface [PosixErrorHandler]
00044 *****************************************************************************/
00057 template <typename ThrowingClass>
00058 class ecl_exceptions_PUBLIC PosixErrorHandler {
00059 public:
00069         static StandardException GenerateStandardException(const char* loc) {
00070                 return StandardException(loc, PosixError, std::string(strerror(errno))+".");
00071         }
00072         virtual ~PosixErrorHandler() {}
00073 };
00074 
00075 }; // namespace ecl
00076 
00077 #endif /* ECL_DISABLE_EXCEPTIONS */
00078 #endif /* ECL_EXCEPTIONS_POSIX_EXCEPTION_HPP_ */


ecl_exceptions
Author(s): Daniel Stonier
autogenerated on Wed Aug 26 2015 11:27:05