xtd 0.2.0
synchronization_lock_exception.h
Go to the documentation of this file.
1 #pragma once
5 #include "../system_exception.h"
6 #include "../typeof.h"
7 
9 namespace xtd {
11  namespace threading {
27  public:
29 
43  explicit synchronization_lock_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) {}
53  explicit synchronization_lock_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) {}
58  explicit synchronization_lock_exception(const std::exception& inner_exception, const xtd::diagnostics::stack_frame& info = xtd::diagnostics::stack_frame::empty()) : system_exception(default_message(), inner_exception, info) {}
63  explicit synchronization_lock_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) {}
69  explicit synchronization_lock_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) {}
75  explicit synchronization_lock_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) {}
82  explicit synchronization_lock_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) {}
84 
89 
90  private:
91  const char* default_message() const noexcept {return "Object synchronization method was called from an unsynchronized block of code.";}
92  };
93  }
94 }
95 
108 #define synchronization_lock_exception_(...) synchronization_lock_exception(add_csf_(__VA_ARGS__))
Defines the base class for predefined exceptions in the xtd namespace.
Definition: system_exception.h:24
synchronization_lock_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 synchronization_lock_exception.
Definition: synchronization_lock_exception.h:69
synchronization_lock_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 synchronization_lock_exception.
Definition: synchronization_lock_exception.h:75
synchronization_lock_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 synchronization_lock_exception.
Definition: synchronization_lock_exception.h:82
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:46
synchronization_lock_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 synchronization_lock_exception.
Definition: synchronization_lock_exception.h:48
synchronization_lock_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 synchronization_lock_exception.
Definition: synchronization_lock_exception.h:43
synchronization_lock_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 synchronization_lock_exception.
Definition: synchronization_lock_exception.h:53
virtual exception_ref inner_exception() const noexcept
Gets the exception instance that caused the current exception.
synchronization_lock_exception(const xtd::ustring &message, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class synchronization_lock_exception.
Definition: synchronization_lock_exception.h:38
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.
synchronization_lock_exception(const std::exception &inner_exception, const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class synchronization_lock_exception.
Definition: synchronization_lock_exception.h:58
virtual const xtd::ustring & message() const noexcept
Gets message associate to the exception.
The exception that is thrown when a Thread is in an invalid ThreadState for the method call...
Definition: synchronization_lock_exception.h:26
synchronization_lock_exception(const xtd::diagnostics::stack_frame &info=xtd::diagnostics::stack_frame::empty())
Create a new instance of class synchronization_lock_exception.
Definition: synchronization_lock_exception.h:34
virtual const xtd::ustring & help_link() const noexcept
Gets a link to the help file associated with this exception.
synchronization_lock_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 synchronization_lock_exception.
Definition: synchronization_lock_exception.h:63