42 #include <boost/current_function.hpp>
52 #define POISSON_THROW_EXCEPTION(ExceptionName, message) \
54 std::ostringstream s; \
56 throw ExceptionName(s.str(), __FILE__, BOOST_CURRENT_FUNCTION, __LINE__); \
75 const char* file_name =
nullptr,
76 const char* function_name =
nullptr,
77 unsigned line_number = 0)
90 const char* file_name,
91 const char* function_name,
94 std::ostringstream sstream;
96 sstream << function_name <<
' ';
100 sstream <<
"in " << file_name <<
' ';
102 sstream <<
"@ " << line_number <<
' ';
104 sstream <<
": " << error_description;
106 return (sstream.str ());
121 const char* file_name =
nullptr,
122 const char* function_name =
nullptr,
123 unsigned line_number = 0)
124 :
pcl::poisson::
PoissonException (error_description, file_name, function_name, line_number) {}
134 const char* file_name =
nullptr,
135 const char* function_name =
nullptr,
136 unsigned line_number = 0)
137 :
pcl::poisson::
PoissonException (error_description, file_name, function_name, line_number) {}
147 const char* file_name =
nullptr,
148 const char* function_name =
nullptr,
149 unsigned line_number = 0)
150 :
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)