libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
|
#include <exception.hpp>
Public Types | |
typedef std::runtime_error | base_t |
typedef ppd::api_threading_traits< API, Mdl > | thread_traits |
typedef thread_traits::lock_traits | lock_traits |
Public Member Functions | |
exception (tstring &&r, info::function &&f, info::revision &&ri) noexcept(false) | |
exception (const tostringstream &r, info::function &&f, info::revision &&ri) noexcept(false) | |
exception (const exception &ex) noexcept(false) | |
void | operator= (exception const &)=delete |
void | operator= (exception &&)=delete |
virtual | ~exception () noexcept(true) |
virtual exit_codes::codes __fastcall | code () const noexcept(true) |
char const *__CLR_OR_THIS_CALL | what () const noexcept(true) final override |
virtual const tstring __fastcall | to_string () const noexcept(false) |
Static Public Member Functions | |
static constexpr std::size_t | max_size () noexcept(true) |
Protected Attributes | |
const thread_traits::api_params_type::pid_type | process_id |
const thread_traits::api_params_type::tid_type | thread_id |
const thread_traits::api_params_type::username_type | current_username |
Friends | |
tostream &__fastcall | operator<< (tostream &o, const exception &e) noexcept(false) |
Inheritance from "std::runtime_error" is done in case of object slicing (which can occur with exceptions) so I set the error string in the exception as best I can. Note that for derived exception classes, the error string held n "std::exception" may not have everything in it compared to the overrriden "what()". But it is better than sweet f.a.
Definition at line 62 of file exception.hpp.
typedef std::runtime_error jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::base_t |
Definition at line 64 of file exception.hpp.
typedef thread_traits::lock_traits jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::lock_traits |
Definition at line 66 of file exception.hpp.
typedef ppd::api_threading_traits<API, Mdl> jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::thread_traits |
Definition at line 65 of file exception.hpp.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinevirtualnoexcept |
Definition at line 73 of file exception.hpp.
|
inlinevirtualnoexcept |
Reimplemented in jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >, and jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< ppd::generic_traits::MS_Win32, ppd::heavyweight_threading >.
Definition at line 77 of file exception.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::exit_codes::exit_jmmcg_exception.
|
inlinestaticconstexprnoexcept |
Definition at line 85 of file exception.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::info::revision::max_size(), and jmmcg::LIBJMMCG_VER_NAMESPACE::info::function::max_size().
|
delete |
|
delete |
|
inlinevirtualnoexcept |
Reimplemented in jmmcg::LIBJMMCG_VER_NAMESPACE::NTUtils::win_exception, jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< API, Mdl >, and jmmcg::LIBJMMCG_VER_NAMESPACE::crt_exception< ppd::generic_traits::MS_Win32, ppd::heavyweight_threading >.
Definition at line 61 of file exception_impl.hpp.
References jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::current_username, jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::process_id, and jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::thread_id.
|
inlinefinaloverridenoexcept |
Definition at line 67 of file exception_impl.hpp.
|
friend |
Definition at line 97 of file exception.hpp.
|
protected |
Definition at line 105 of file exception.hpp.
Referenced by jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::exception(), and jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::to_string().
|
protected |
Definition at line 103 of file exception.hpp.
Referenced by jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::exception(), and jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::to_string().
|
protected |
Definition at line 104 of file exception.hpp.
Referenced by jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::exception(), and jmmcg::LIBJMMCG_VER_NAMESPACE::exception< API, Mdl >::to_string().