xtd 0.2.0
underflow_exception.h
Go to the documentation of this file.
1 #pragma once
5 #include "arithmetic_exception.h"
6 
8 namespace xtd {
19  public:
21 
35  explicit underflow_exception(const xtd::ustring& message, const std::error_code& error, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : arithmetic_exception(message, error, info) {}
45  explicit underflow_exception(const xtd::ustring& message, const std::error_code& error, const xtd::ustring& help_link, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : arithmetic_exception(message, error, help_link, info) {}
50  explicit underflow_exception(const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : arithmetic_exception(default_message(), inner_exception, info) {}
55  explicit underflow_exception(const xtd::ustring& message, const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : arithmetic_exception(message, inner_exception, info) {}
61  explicit underflow_exception(const xtd::ustring& message, const std::exception& inner_exception, const std::error_code& error, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : arithmetic_exception(message, inner_exception, error, info) {}
67  explicit underflow_exception(const xtd::ustring& message, const std::exception& inner_exception, const xtd::ustring& help_link, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : arithmetic_exception(message, inner_exception, help_link, info) {}
74  explicit underflow_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& info = xtd::diagnostics::stack_frame::empty()) : arithmetic_exception(message, inner_exception, error, help_link, info) {}
76 
78  underflow_exception(const underflow_exception&) = default;
79  underflow_exception& operator =(const underflow_exception&) = default;
81 
82  private:
83  const char* default_message() const noexcept {return "Arithmetic operation resulted in an underflow."_t;}
84  };
85 }
86 
99 #define underflow_exception_(...) underflow_exception(add_csf_(__VA_ARGS__))
The exception that is thrown for errors in an arithmetic, casting, or conversion operation.
Definition: arithmetic_exception.h:20
underflow_exception(const xtd::ustring &message, const std::exception &inner_exception, const std::error_code &error, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:61
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
underflow_exception(const xtd::ustring &message, const std::exception &inner_exception, const xtd::ustring &help_link, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:67
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
underflow_exception(const xtd::ustring &message, const std::error_code &error, const xtd::ustring &help_link, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:45
virtual exception_ref inner_exception() const noexcept
Gets the exception instance that caused the current exception.
underflow_exception(const xtd::ustring &message, const std::exception &inner_exception, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:55
underflow_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 &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:74
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition: stack_frame.h:37
underflow_exception(const xtd::ustring &message, const xtd::ustring &help_link, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:40
static stack_frame empty() noexcept
Return an empty stack frame.
underflow_exception(const xtd::ustring &message, const std::error_code &error, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:35
The exception that is thrown when an arithmetic, casting, or conversion operation in a checked contex...
Definition: underflow_exception.h:18
virtual const xtd::ustring & message() const noexcept
Gets message associate to the exception.
underflow_exception(const xtd::ustring &message, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:30
underflow_exception(const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:26
virtual const xtd::ustring & help_link() const noexcept
Gets a link to the help file associated with this exception.
Contains xtd::arithmetic_exception exception.
underflow_exception(const std::exception &inner_exception, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class underflow_exception.
Definition: underflow_exception.h:50