xtd - Reference Guide  0.2.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
socket_exception.h
Go to the documentation of this file.
1 #pragma once
5 #include "../../system_exception.h"
6 #include "socket_error.h"
7 
9 namespace xtd {
11  namespace net {
13  namespace sockets {
24  public:
37  explicit socket_exception(const xtd::ustring& message, const std::error_code& error, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : system_exception(message, error, info) {}
42  explicit socket_exception(const xtd::ustring& message, const xtd::ustring& help_link, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : system_exception(message, help_link, info) {}
47  explicit socket_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()) : system_exception(message, error, help_link, info) {}
52  socket_exception(const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : system_exception(default_message(), inner_exception, info) {}
57  explicit socket_exception(const xtd::ustring& message, const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : system_exception(message, inner_exception, info) {}
63  explicit socket_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()) : system_exception(message, inner_exception, error, info) {}
69  explicit socket_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()) : system_exception(message, inner_exception, help_link, info) {}
76  explicit socket_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()) : system_exception(message, inner_exception, error, help_link, info) {}
80  explicit socket_exception(const xtd::net::sockets::socket_error& error, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : system_exception(default_message(), std::error_code(static_cast<int32_t>(error), std::system_category()), info) {}
81 
83  socket_exception(const socket_exception&) = default;
84  socket_exception& operator=(const socket_exception&) = default;
86 
87  private:
88  const char* default_message() const {return "The Socket operation failed."_t;}
89  };
90  }
91  }
92 }
Defines the base class for predefined exceptions in the xtd namespace.
Definition: system_exception.h:24
socket_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 socket_exception.
Definition: socket_exception.h:47
Get the error status and clear.
socket_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 socket_exception.
Definition: socket_exception.h:63
socket_exception(const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class socket_exception.
Definition: socket_exception.h:28
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
virtual std::error_code error_code() const noexcept
Get error associate to the exception.
Definition: system_exception.h:102
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:48
socket_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 socket_exception.
Definition: socket_exception.h:42
socket_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 socket_exception.
Definition: socket_exception.h:57
socket_error
Defines error codes for the xtd::net::sockets::socket class.
Definition: socket_error.h:24
socket_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 socket_exception.
Definition: socket_exception.h:76
socket_exception(const xtd::ustring &message, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class socket_exception.
Definition: socket_exception.h:32
socket_exception(const std::exception &inner_exception, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class socket_exception.
Definition: socket_exception.h:52
virtual exception_ref inner_exception() const noexcept
Gets the exception instance that caused the current exception.
Definition: system_exception.h:106
socket_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 socket_exception.
Definition: socket_exception.h:69
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition: stack_frame.h:29
static stack_frame empty() noexcept
Return an empty stack frame.
Contains xtd::net::sockets::socket_error enum.
socket_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 socket_exception.
Definition: socket_exception.h:37
The exception that is thrown when a socket error occurs.
Definition: socket_exception.h:23
virtual const xtd::ustring & message() const noexcept
Get message associate to the exception.
Definition: system_exception.h:118
socket_exception(const xtd::net::sockets::socket_error &error, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class socket_exception.
Definition: socket_exception.h:80
virtual const xtd::ustring & help_link() const noexcept
Gets a link to the help file associated with this exception.
Definition: system_exception.h:94