xtd 0.2.0
Loading...
Searching...
No Matches
socket_exception.h
Go to the documentation of this file.
1
4#pragma once
5#include "socket_error.h"
6#include "../../system_exception.h"
7
9namespace xtd {
11 namespace net {
13 namespace sockets {
31 public:
33
90 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>(error), std::system_category()), info) {}
92
94 socket_exception(const socket_exception&) = default;
95 socket_exception& operator =(const socket_exception&) = default;
97
98 private:
99 const char* default_message() const noexcept {return "The Socket operation failed."_t;}
100 };
101 }
102 }
103}
104
119#define socket_exception_(...) socket_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.
The exception that is thrown when a socket error occurs.
Definition socket_exception.h:30
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:42
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:73
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:86
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:52
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:47
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:79
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:57
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:38
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:67
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:62
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:90
Defines the base class for predefined exceptions in the xtd namespace.
Definition system_exception.h:25
virtual const xtd::ustring & message() const noexcept
Gets message associate to the exception.
virtual const xtd::ustring & help_link() const noexcept
Gets a link to the help file associated with this exception.
virtual std::error_code error_code() const noexcept
Gets error associate to the exception.
virtual exception_ref inner_exception() const noexcept
Gets the exception instance that caused the current exception.
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
int_least32_t int32
Represents a 32-bit signed integer.
Definition types.h:131
socket_error
Defines error codes for the xtd::net::sockets::socket class.
Definition socket_error.h:28
@ error
Gets the error status and clear.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10
Contains xtd::net::sockets::socket_error enum.