29 #include "fastjet/Error.hh" 30 #include "fastjet/config.h" 34 #ifdef FASTJET_HAVE_EXECINFO_H 39 FASTJET_BEGIN_NAMESPACE
43 bool Error::_print_errors =
true;
44 bool Error::_print_backtrace =
false;
45 ostream * Error::_default_ostr = & cerr;
47 Error::Error(
const std::string & message_in) {
48 _message = message_in;
49 if (_print_errors && _default_ostr){
51 oss <<
"fastjet::Error: "<< message_in << endl;
54 #ifdef FASTJET_HAVE_EXECINFO_H 55 if (_print_backtrace){
59 int size = backtrace(array, 10);
60 messages = backtrace_symbols(array, size);
62 oss <<
"stack:" << endl;
63 for (
int i = 1; i < size && messages != NULL; ++i){
64 oss <<
" #" << i <<
": " << messages[i] << endl;
70 *_default_ostr << oss.str();
73 _default_ostr->flush();