15#include <system_error>
31 using exception_ref = std::optional<std::reference_wrapper<const std::exception>>;
110 virtual std::error_code error_code() const noexcept;
118 virtual
uint32 line_number() const noexcept;
146 const
char* what() const noexcept override;
154 static
bool enable_stack_trace() noexcept;
157 static
void enable_stack_trace(
bool enable) noexcept;
161 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);
162 xtd::
ustring stack_trace_to_string() const noexcept;
163 const
char* default_message() const noexcept;
165 static
bool enable_stack_trace_;
169 std::error_code error_;
171 xtd::diagnostics::stack_frame information_;
172 std::shared_ptr<
xtd::diagnostics::stack_trace> stack_trace_;
188#define system_exception_(...) system_exception(add_csf_(__VA_ARGS__))
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.
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.h:32
Defines the base class for predefined exceptions in the xtd namespace.
Definition system_exception.h:25
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:89
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:40
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:60
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:54
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:82
std::optional< std::reference_wrapper< const std::exception > > exception_ref
Optional reference wrapper on std::exception.
Definition system_exception.h:31
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:44
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:76
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:65
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:70
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:49
virtual const xtd::ustring & file_path() const noexcept
Gets file path where exception occurred.
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
Contains core_export_ keyword.
Contains finally_ keyword.
#define core_export_
Define shared library export.
Definition core_export.h:13
uint_least32_t uint32
Represents a 32-bit unsigned integer.
Definition types.h:241
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd::object class.
Contains std::optional type and std::bad_optional_access exception.
Contains xtd::diagnostics::stack_frame class.
Contains xtd::diagnostics::stack_trace class.
Contains xtd::ustring class.