You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
675 B
26 lines
675 B
9 years ago
|
#include "hsExceptions.h"
|
||
|
|
||
|
#include <cstring>
|
||
|
|
||
|
const char *hsException::what() const HS_NOEXCEPT
|
||
|
{
|
||
|
char buffer[64];
|
||
|
|
||
|
static const char *kErrorNames[] = {
|
||
|
"kNo_hsError",
|
||
|
"kNilParam_hsError",
|
||
|
"kBadParam_hsError",
|
||
|
"kInternal_hsError",
|
||
|
"kOS_hsError"
|
||
|
};
|
||
|
static_assert(arrsize(kErrorNames) == hsErrorEnum_MAX,
|
||
|
"kErrorNames not in sync with hsErrorEnum");
|
||
|
|
||
|
if (fError >= 0 && fError < hsErrorEnum_MAX)
|
||
|
snprintf(buffer, arrsize(buffer), "%s (%ld)", kErrorNames[fError], fParam);
|
||
|
else
|
||
|
snprintf(buffer, arrsize(buffer), "Unknown hsException error %d (%ld)", fError, fParam);
|
||
|
|
||
|
return buffer;
|
||
|
}
|