31 #include "fastjet/Error.hh"
32 #include "fastjet/config.h"
36 #ifdef FASTJET_HAVE_EXECINFO_H
41 FASTJET_BEGIN_NAMESPACE
45 bool Error::_print_errors =
true;
46 bool Error::_print_backtrace =
false;
47 ostream * Error::_default_ostr = & cerr;
49 Error::Error(
const std::string & message_in) {
50 _message = message_in;
51 if (_print_errors && _default_ostr){
53 oss <<
"fastjet::Error: "<< message_in << endl;
56 #ifdef FASTJET_HAVE_EXECINFO_H
57 if (_print_backtrace){
61 int size = backtrace(array, 10);
62 messages = backtrace_symbols(array, size);
64 oss <<
"stack:" << endl;
65 for (
int i = 1; i < size && messages != NULL; ++i){
66 oss <<
" #" << i <<
": " << messages[i] << endl;
72 *_default_ostr << oss.str();
75 _default_ostr->flush();