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 "../../literals.h"
7#include "../../system_exception.h"
8
10namespace xtd {
12 namespace net {
14 namespace sockets {
34 public:
36
41 explicit socket_exception(const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) : system_exception(default_message(), stack_frame) {}
50 explicit socket_exception(const xtd::string& message, const std::error_code& error, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) : system_exception(message, error, stack_frame) {}
65 explicit socket_exception(const std::exception& inner_exception, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) : system_exception(default_message(), inner_exception, stack_frame) {}
76 explicit socket_exception(const xtd::string& message, const std::exception& inner_exception, const std::error_code& error, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) : system_exception(message, inner_exception, error, stack_frame) {}
89 explicit socket_exception(const xtd::string& message, const std::exception& inner_exception, const std::error_code& error, const xtd::string& help_link, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) : system_exception(message, inner_exception, error, help_link, stack_frame) {}
93 explicit socket_exception(const xtd::net::sockets::socket_error& error, const xtd::diagnostics::stack_frame& stack_frame = xtd::diagnostics::stack_frame::current()) : system_exception(default_message(), std::error_code(static_cast<int32>(error), std::system_category()), stack_frame) {}
95
97 socket_exception(const socket_exception&) = default;
98 socket_exception& operator =(const socket_exception&) = default;
100
101 private:
102 const char* default_message() const noexcept {return "The Socket operation failed."_t;}
103 };
104 }
105 }
106}
Represents text as a sequence of character units.
Definition basic_string.h:79
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition stack_frame.h:47
static stack_frame current(const xtd::source_location &value=xtd::source_location::current()) noexcept
Crates a new xtd::diagnostics::stack_frame object corresponding to the location of the call site.
virtual const std::error_code & error_code() const noexcept
Gets error associate to the exception.
virtual const xtd::string & message() const noexcept
Gets message associate to the exception.
virtual exception_ref inner_exception() const noexcept
Gets the exception instance that caused the current exception.
virtual const xtd::string & help_link() const noexcept
Gets a link to the help file associated with this exception.
The exception that is thrown when a socket error occurs.
Definition socket_exception.h:33
socket_exception(const xtd::string &message, const std::error_code &error, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:50
socket_exception(const xtd::string &message, const std::exception &inner_exception, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:70
socket_exception(const xtd::string &message, const std::exception &inner_exception, const std::error_code &error, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:89
socket_exception(const xtd::string &message, const std::exception &inner_exception, const std::error_code &error, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:76
socket_exception(const xtd::string &message, const std::error_code &error, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:60
socket_exception(const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:41
socket_exception(const xtd::string &message, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:55
socket_exception(const std::exception &inner_exception, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:65
socket_exception(const xtd::net::sockets::socket_error &error, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:93
socket_exception(const xtd::string &message, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:45
socket_exception(const xtd::string &message, const std::exception &inner_exception, const xtd::string &help_link, const xtd::diagnostics::stack_frame &stack_frame=xtd::diagnostics::stack_frame::current())
Create a new instance of class socket_exception.
Definition socket_exception.h:82
The exception that is thrown when a method call is invalid for the object's current state.
Definition system_exception.h:18
int32_t int32
Represents a 32-bit signed integer.
Definition int32.h:23
socket_error
Defines error codes for the xtd::net::sockets::socket class.
Definition socket_error.h:30
@ 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.