42 #include <boost/current_function.hpp>
51 #define POISSON_THROW_EXCEPTION(ExceptionName, message) \
53 std::ostringstream s; \
55 throw ExceptionName(s.str(), __FILE__, BOOST_CURRENT_FUNCTION, __LINE__); \
73 const char* file_name =
nullptr,
74 const char* function_name =
nullptr,
75 unsigned line_number = 0)
88 const char* file_name,
89 const char* function_name,
92 std::ostringstream sstream;
94 sstream << function_name <<
' ';
98 sstream <<
"in " << file_name <<
' ';
100 sstream <<
"@ " << line_number <<
' ';
102 sstream <<
": " << error_description;
104 return (sstream.str ());
119 const char* file_name =
nullptr,
120 const char* function_name =
nullptr,
121 unsigned line_number = 0)
122 :
pcl::poisson::
PoissonException (error_description, file_name, function_name, line_number) {}
132 const char* file_name =
nullptr,
133 const char* function_name =
nullptr,
134 unsigned line_number = 0)
135 :
pcl::poisson::
PoissonException (error_description, file_name, function_name, line_number) {}
145 const char* file_name =
nullptr,
146 const char* function_name =
nullptr,
147 unsigned line_number = 0)
148 :
pcl::poisson::
PoissonException (error_description, file_name, function_name, line_number) {}
An exception that is thrown when the arguments number or type is wrong/unhandled.
PoissonBadArgumentException(const std::string &error_description, const char *file_name=nullptr, const char *function_name=nullptr, unsigned line_number=0)
An exception that is thrown when initialization fails.
PoissonBadInitException(const std::string &error_description, const char *file_name=nullptr, const char *function_name=nullptr, unsigned line_number=0)
A base class for all poisson exceptions which inherits from std::runtime_error.
const char * function_name_
PoissonException(const std::string &error_description, const char *file_name=nullptr, const char *function_name=nullptr, unsigned line_number=0)
static std::string createDetailedMessage(const std::string &error_description, const char *file_name, const char *function_name, unsigned line_number)
An exception that is thrown when something goes wrong inside an openMP for loop.
PoissonOpenMPException(const std::string &error_description, const char *file_name=nullptr, const char *function_name=nullptr, unsigned line_number=0)