8 #include "core_export.h" 14 #include <system_error> 30 using exception_ref = std::optional<std::reference_wrapper<const std::exception>>;
108 static bool enable_stack_trace() noexcept;
109 static void enable_stack_trace(
bool enable) noexcept;
113 virtual std::error_code error_code()
const noexcept;
121 virtual uint32 line_number()
const noexcept;
125 virtual const xtd::ustring& member_name()
const noexcept;
149 const char* what()
const noexcept
override;
155 const char* default_message()
const noexcept;
157 static bool enable_stack_trace_;
161 std::error_code error_;
164 std::shared_ptr<xtd::diagnostics::stack_trace> stack_trace_;
180 #define system_exception_(...) system_exception(add_csf_(__VA_ARGS__)) Contains xtd::diagnostics::stack_trace class.
Defines the base class for predefined exceptions in the xtd namespace.
Definition: system_exception.h:24
Contains std::optional type and std::bad_optional_access exception.
system_exception(const std::exception &inner_exception, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:64
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
system_exception(const xtd::ustring &message, const std::error_code &error, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:48
system_exception(const xtd::ustring &message, const xtd::ustring &help_link, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:53
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
system_exception(const xtd::ustring &message, const std::error_code &error, const xtd::ustring &help_link, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:59
std::string to_string(const date_time &value, const std::string &fmt, const std::locale &loc)
Convert a specified value into a string with specified format and locale.
Definition: date_time.h:1063
system_exception(const xtd::ustring &message, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:43
std::optional< std::reference_wrapper< const std::exception > > exception_ref
Optional reference wrapper on std::exception.
Definition: system_exception.h:30
system_exception(const xtd::ustring &message, const std::exception &inner_exception, const std::error_code &error, const xtd::ustring &help_link, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:88
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition: stack_frame.h:37
static stack_frame empty() noexcept
Return an empty stack frame.
Contains xtd::ustring class.
system_exception(const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:39
Contains xtd::object class.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:32
system_exception(const xtd::ustring &message, const std::exception &inner_exception, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:69
Contains xtd::diagnostics::stack_frame class.
system_exception(const xtd::ustring &message, const std::exception &inner_exception, const std::error_code &error, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:75
uint_least32_t uint32
Represents a 32-bit unsigned integer.
Definition: types.h:239
system_exception(const xtd::ustring &message, const std::exception &inner_exception, const xtd::ustring &help_link, const xtd::diagnostics::stack_frame &information=xtd::diagnostics::stack_frame::empty())
Create a new instance of class system_exception.
Definition: system_exception.h:81