xtd 0.2.0
protocol_violation_exception.h
Go to the documentation of this file.
1 #pragma once
5 #include "../format_exception.h"
6 
8 namespace xtd {
10  namespace net {
23  public:
25 
39  explicit protocol_violation_exception(const xtd::ustring& message, const std::error_code& error, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : format_exception(message, error, info) {}
49  explicit protocol_violation_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()) : format_exception(message, error, help_link, info) {}
54  explicit protocol_violation_exception(const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : format_exception(default_message(), inner_exception, info) {}
59  explicit protocol_violation_exception(const xtd::ustring& message, const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : format_exception(message, inner_exception, info) {}
65  explicit protocol_violation_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()) : format_exception(message, inner_exception, error, info) {}
71  explicit protocol_violation_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()) : format_exception(message, inner_exception, help_link, info) {}
78  explicit protocol_violation_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()) : format_exception(message, inner_exception, error, help_link, info) {}
80 
83  protocol_violation_exception& operator =(const protocol_violation_exception&) = default;
85 
86  private:
87  const char* default_message() const noexcept {return "Operation is not valid due to the current state of the object."_t;}
88  };
89  }
90 }
91 
106 #define protocol_violation_exception_(...) protocol_violation_exception(add_csf_(__VA_ARGS__))
protocol_violation_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 protocol_violation_exception.
Definition: protocol_violation_exception.h:65
protocol_violation_exception(const std::exception &inner_exception, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class protocol_violation_exception.
Definition: protocol_violation_exception.h:54
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
protocol_violation_exception(const xtd::ustring &message, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class protocol_violation_exception.
Definition: protocol_violation_exception.h:34
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
virtual exception_ref inner_exception() const noexcept
Gets the exception instance that caused the current exception.
protocol_violation_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 protocol_violation_exception.
Definition: protocol_violation_exception.h:71
protocol_violation_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 protocol_violation_exception.
Definition: protocol_violation_exception.h:59
protocol_violation_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 protocol_violation_exception.
Definition: protocol_violation_exception.h:44
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition: stack_frame.h:37
protocol_violation_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 protocol_violation_exception.
Definition: protocol_violation_exception.h:39
static stack_frame empty() noexcept
Return an empty stack frame.
protocol_violation_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 protocol_violation_exception.
Definition: protocol_violation_exception.h:49
The exception that is thrown when the format of an argument does not meet the parameter specification...
Definition: format_exception.h:18
protocol_violation_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 protocol_violation_exception.
Definition: protocol_violation_exception.h:78
The exception that is thrown when an error is made adding a xtd::net::cookie to a xtd::net::cookie_co...
Definition: protocol_violation_exception.h:22
virtual const xtd::ustring & message() const noexcept
Gets message associate to the exception.
protocol_violation_exception(const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class protocol_violation_exception.
Definition: protocol_violation_exception.h:30
virtual const xtd::ustring & help_link() const noexcept
Gets a link to the help file associated with this exception.