xtd 0.2.0
path_too_long_exception.h
Go to the documentation of this file.
1 #pragma once
5 #include "io_exception.h"
6 
8 namespace xtd {
10  namespace io {
28  public:
30 
44  explicit path_too_long_exception(const xtd::ustring& message, const std::error_code& error, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : io_exception(message, error, info) {}
54  explicit path_too_long_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()) : io_exception(message, error, help_link, info) {}
59  explicit path_too_long_exception(const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : io_exception(default_message(), inner_exception, info) {}
64  explicit path_too_long_exception(const xtd::ustring& message, const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : io_exception(message, inner_exception, info) {}
70  explicit path_too_long_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()) : io_exception(message, inner_exception, error, info) {}
76  explicit path_too_long_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()) : io_exception(message, inner_exception, help_link, info) {}
83  explicit path_too_long_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()) : io_exception(message, inner_exception, error, help_link, info) {}
87  path_too_long_exception& operator =(const path_too_long_exception&) = default;
89 
90  private:
91  const char* default_message() const noexcept {return "The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters."_t;}
92  };
93  }
94 }
95 
110 #define path_too_long_exception_(...) path_too_long_exception(add_csf_(__VA_ARGS__))
The exception that is thrown when a path or file name is longer than the system-defined maximum lengt...
Definition: path_too_long_exception.h:27
path_too_long_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 path_too_long_exception.
Definition: path_too_long_exception.h:83
path_too_long_exception(const std::exception &inner_exception, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class path_too_long_exception.
Definition: path_too_long_exception.h:59
path_too_long_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 path_too_long_exception.
Definition: path_too_long_exception.h:54
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
path_too_long_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 path_too_long_exception.
Definition: path_too_long_exception.h:44
path_too_long_exception(const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class path_too_long_exception.
Definition: path_too_long_exception.h:35
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
Contains xtd::io::io_exception exception.
path_too_long_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 path_too_long_exception.
Definition: path_too_long_exception.h:64
The exception that is thrown when an I/O error occurs.
Definition: io_exception.h:27
virtual exception_ref inner_exception() const noexcept
Gets the exception instance that caused the current exception.
path_too_long_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 path_too_long_exception.
Definition: path_too_long_exception.h:49
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.
path_too_long_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 path_too_long_exception.
Definition: path_too_long_exception.h:76
virtual const xtd::ustring & message() const noexcept
Gets message associate to the exception.
path_too_long_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 path_too_long_exception.
Definition: path_too_long_exception.h:70
virtual const xtd::ustring & help_link() const noexcept
Gets a link to the help file associated with this exception.
path_too_long_exception(const xtd::ustring &message, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class path_too_long_exception.
Definition: path_too_long_exception.h:39