1#ifndef SAFEHERON_SGX_TRUSTED_EXCEPTION_H_
2#define SAFEHERON_SGX_TRUSTED_EXCEPTION_H_
4#define EXCEPTION_BUF_SIZE_FILE_PATH 48
5#define EXCEPTION_BUF_SIZE_FUNC 24
6#define EXCEPTION_BUF_SIZE_MESSAGE 128
17namespace exception_t {
40 explicit LocatedException(
const char* file_path,
int line_num,
const char* func,
int internal_code,
41 const char* message) {
45 size_t src_len = strlen(file_path);
50 info_.append(file_path + src_offset, src_len);
53 info_.append(std::to_string(line_num));
57 src_len = strlen(func);
62 info_.append(func + src_offset, src_len);
65 info_.append(std::to_string(internal_code));
69 src_len = strlen(message);
74 info_.append(message + src_offset, src_len);
77 virtual const char*
what() const noexcept {
LocatedException class thrown with extra information such as file_path, func, line_num,...
Definition ssgx_exception_t.h:38
virtual const char * what() const noexcept
Definition ssgx_exception_t.h:77
LocatedException(const char *file_path, int line_num, const char *func, int internal_code, const char *message)
Definition ssgx_exception_t.h:40
std::string info_
Definition ssgx_exception_t.h:82
Definition ssgx_attestation_t.h:6
#define EXCEPTION_BUF_SIZE_FUNC
Definition ssgx_exception_t.h:5
#define EXCEPTION_BUF_SIZE_FILE_PATH
Definition ssgx_exception_t.h:4
#define EXCEPTION_BUF_SIZE_MESSAGE
Definition ssgx_exception_t.h:6