24 #include "common_priv.h"
42 errorstring +=
"\nBacktrace:\n" + GetStackTrace();
51 errorstring +=
"\nBacktrace:\n" + GetStackTrace();
62 std::vector<char> errstr(256,
'\0');
64 #if defined(__APPLE__)
66 int err = strerror_r(
error, &errstr[0], errstr.size());
71 if (errno == ERANGE) {
72 errstr.resize(2*errstr.size(),
'\0');
79 char *str = strerror_r(
error, &errstr[0], errstr.size());
93 if (str == (
char*)-1) {
94 if (errno == ERANGE) {
95 errstr.resize(2*errstr.size(),
'\0');
100 }
else if (str == 0) {
virtual ~ErrnoException()
static const char UNKNOWN_ERROR[]
std::string GetStackTrace() const
virtual const char * what() const