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.
io_exception.h
Go to the documentation of this file.
1 #pragma once
5 #include "../system_exception.h"
6 
8 namespace xtd {
10  namespace io {
20  class io_exception : public system_exception {
21  public:
34  explicit io_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) {}
39  explicit io_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) {}
44  explicit io_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) {}
49  io_exception(const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : system_exception(default_message(), inner_exception, info) {}
54  explicit io_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) {}
60  explicit io_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) {}
66  explicit io_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) {}
73  explicit io_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) {}
74 
76  io_exception(const io_exception&) = default;
77  io_exception& operator=(const io_exception&) = default;
79 
80  private:
81  const char* default_message() const {return "I/O error occurred."_t;}
82  };
83  }
84 }
io_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 io_exception.
Definition: io_exception.h:34
Defines the base class for predefined exceptions in the xtd namespace.
Definition: system_exception.h:24
io_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 io_exception.
Definition: io_exception.h:66
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:48
io_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 io_exception.
Definition: io_exception.h:60
io_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 io_exception.
Definition: io_exception.h:73
The exception that is thrown when an I/O error occurs.
Definition: io_exception.h:20
virtual exception_ref inner_exception() const noexcept
Gets the exception instance that caused the current exception.
Definition: system_exception.h:106
Provides information about a xtd::diagnostics::stack_frame, which represents a function call on the c...
Definition: stack_frame.h:29
io_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 io_exception.
Definition: io_exception.h:54
static stack_frame empty() noexcept
Return an empty stack frame.
io_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 io_exception.
Definition: io_exception.h:44
io_exception(const xtd::ustring &message, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class io_exception.
Definition: io_exception.h:29
virtual const xtd::ustring & message() const noexcept
Get message associate to the exception.
Definition: system_exception.h:118
io_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 io_exception.
Definition: io_exception.h:39
virtual const xtd::ustring & help_link() const noexcept
Gets a link to the help file associated with this exception.
Definition: system_exception.h:94
io_exception(const std::exception &inner_exception, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class io_exception.
Definition: io_exception.h:49
io_exception(const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class io_exception.
Definition: io_exception.h:25