A base class for classes that represent system (rather than application) exceptions. Never create instances of this class manually. Use the SystemException class instead. Never wrap the SystemException class instances into System::SmartPtr. More...
Inherits System::Details_Exception.
Inherited by System::Details_ExceptionWithErrorCode< Details_SystemException >, System::Details_ExceptionWithFilename< Details_SystemException >, NUnit::Framework::Details_AssertionException, System::Collections::Generic::Details_KeyNotFoundException, System::Details_ArgumentException, System::Details_ArithmeticException, System::Details_DataMisalignedException, System::Details_ExecutionEngineException, System::Details_FormatException, System::Details_IndexOutOfRangeException, System::Details_InvalidCastException, System::Details_MemberAccessException, System::Details_NotImplementedException, System::Details_NotSupportedException, System::Details_NullReferenceException, System::Details_OperationCanceledException, System::Details_OutOfMemoryException, System::Details_RankException, System::Details_StackOverflowException, System::Details_TimeoutException, System::Details_TypeInitializationException, System::Details_UnauthorizedAccessException, System::IO::Details_IOException, System::IO::Details_InvalidDataException, System::Runtime::Serialization::Details_SerializationException, System::Security::Authentication::Details_AuthenticationException, System::Security::Cryptography::Details_CryptographicException, System::Security::Details_SecurityException, System::Threading::Details_SemaphoreFullException, System::Threading::Details_SynchronizationLockException, System::Threading::Details_ThreadAbortException, System::Threading::Details_ThreadInterruptedException, System::Threading::Details_ThreadStateException, System::Web::Services::Protocols::Details_SoapException, System::Xml::Details_XmlException, System::Xml::Schema::Details_XmlSchemaException, System::Xml::XPath::Details_XPathException, and System::Xml::Xsl::Details_XsltException.
Public Member Functions | |
const System::TypeInfo & | GetType () const override |
Gets actual type of object. Analog of C# System.Object.GetType() call. More... | |
bool | Is (const System::TypeInfo &target) const override |
![]() | |
virtual String | get_Message () const |
Returns the string containing the error destcription. More... | |
virtual String | get_StackTrace () const |
Returns the string containing the stack trace. More... | |
virtual ExceptionWrapper< Details_Exception > | get_InnerException () const |
Returns a reference to the object representing the inner exception. More... | |
virtual ExceptionWrapper< Details_Exception > | GetBaseException () const |
Returns the copy of Exception object representing the inner-most exception. More... | |
int32_t | get_HResult () const |
Returns a 32-bit integer value which is a HRESULT code associated with the exception reprsented by the current object. More... | |
void | set_HResult (int32_t value) |
Sets HRESULT, a coded numerical value that is assigned to a specific exception. More... | |
virtual String | ToString () const override |
Returns the string representation of the current object. More... | |
virtual const char * | what () const noexcept |
Implements what() method which is called by ExceptionWrapper class. Despite of the fact that this class is not inherited from std::exception derived classes can use protected/private members to implement their logic. Moving this method implementation to the ExceptionWrapper may broke that logic. More... | |
![]() | |
Object () | |
Creates object. Initializes all internal data structures. More... | |
virtual | ~Object () |
Destroys object. Frees all internal data structures. More... | |
Object (Object const &x) | |
Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object & | operator= (Object const &x) |
Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More... | |
Object * | SharedRefAdded () |
Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
int | SharedRefRemovedSafe () |
Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
int | RemovedSharedRefs (int count) |
Decreases shared reference count by specified value. More... | |
Detail::SmartPtrCounter * | WeakRefAdded () |
Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
void | WeakRefRemoved () |
Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More... | |
Detail::SmartPtrCounter * | GetCounter () |
Gets reference counter data structure associated with the object. More... | |
int | SharedCount () const |
Gets current value of shared reference counter. More... | |
void | Lock () |
Implements C# lock() statement locking. Call directly or use LockContext sentry object. More... | |
void | Unlock () |
Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More... | |
virtual bool | Equals (ptr obj) |
Compares objects using C# Object.Equals semantics. More... | |
virtual int32_t | GetHashCode () const |
Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More... | |
virtual ptr | MemberwiseClone () const |
Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More... | |
virtual void | SetTemplateWeakPtr (uint32_t argument) |
Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More... | |
virtual bool | FastCast (const Details::FastRttiBase &helper, void **out_ptr) const |
For internal purposes only. More... | |
template<> | |
bool | ReferenceEquals (String const &str, std::nullptr_t) |
Specialization of Object::ReferenceEquals for case of string and nullptr. More... | |
template<> | |
bool | ReferenceEquals (String const &str1, String const &str2) |
Specialization of Object::ReferenceEquals for case of strings. More... | |
Static Public Member Functions | |
static const System::TypeInfo & | Type () |
![]() | |
static bool | ReferenceEquals (ptr const &objA, ptr const &objB) |
Compares objects by reference. More... | |
template<typename T > | |
static std::enable_if<!IsSmartPtr< T >::value, bool >::type | ReferenceEquals (T const &objA, T const &objB) |
Compares objects by reference. More... | |
template<typename T > | |
static std::enable_if<!IsSmartPtr< T >::value, bool >::type | ReferenceEquals (T const &objA, std::nullptr_t) |
Reference-compares value type object with nullptr. More... | |
template<typename T1 , typename T2 > | |
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type | Equals (T1 const &objA, T2 const &objB) |
Compares reference type objects in C# style. More... | |
template<typename T1 , typename T2 > | |
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type | Equals (T1 const &objA, T2 const &objB) |
Compares value type objects in C# style. More... | |
static const TypeInfo & | Type () |
Implements C# typeof(System.Object) construct. More... | |
template<> | |
bool | Equals (float const &objA, float const &objB) |
Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More... | |
template<> | |
bool | Equals (double const &objA, double const &objB) |
Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More... | |
Protected Types | |
using | BaseType = System::Details_Exception |
Protected Member Functions | |
Details_SystemException () | |
Details_SystemException (const System::String &message) | |
Details_SystemException (const System::String &message, const System::Exception &innerException) | |
Details_SystemException (const System::SharedPtr< System::Runtime::Serialization::SerializationInfo > &info, System::Runtime::Serialization::StreamingContext context) | |
void | DoThrow (const System::ExceptionPtr &self) const override |
Throws exception instance wrapped by exception wrapper. More... | |
![]() | |
Details_Exception () | |
Constructs an instance of Exception class. More... | |
Details_Exception (const String &message) | |
Constructs an instance of Exception class and assigns the specified error message to it. More... | |
Details_Exception (const String &message, const ExceptionWrapper< Details_Exception > &innerException) | |
Constructs an instance of Exception class and assigns the specified error message and a reference to the inner exception object. More... | |
Details_Exception (const System::SharedPtr< System::Runtime::Serialization::SerializationInfo > &info, System::Runtime::Serialization::StreamingContext context) | |
Deserializes exception. More... | |
virtual String | ExtraDescription () const |
Returns a string containing additional description of the exception. More... | |
String | DefaultMessage () const |
Returns a default description of the exception based on type. More... | |
Additional Inherited Members | |
![]() | |
typedef SmartPtr< Object > | ptr |
Alias for smart pointer type. More... | |
A base class for classes that represent system (rather than application) exceptions. Never create instances of this class manually. Use the SystemException class instead. Never wrap the SystemException class instances into System::SmartPtr.
|
protected |
Parent type.
|
inlineprotected |
Constructs a new instance.
|
inlineprotected |
Constructs a new instance.
message | The error description. |
|
inlineprotected |
Constructs a new instance.
message | The error description. |
innerException | The inner exception. |
|
inlineprotected |
Deserializes exception.
info | SerializationInfo object holding serialized exception. |
context | Streaming context bound to serialization info passed. |
|
inlineoverrideprotectedvirtual |
Throws exception instance wrapped by exception wrapper.
self | Exception instance to be thrown. |
Reimplemented from System::Details_Exception.
Reimplemented in System::Xml::Xsl::Details_XsltCompileException, System::Xml::Xsl::Details_XsltException, System::Xml::XPath::Details_XPathException, System::Xml::Details_XmlException, System::Xml::Schema::Details_XmlSchemaValidationException, System::Xml::Schema::Details_XmlSchemaException, System::Xml::Schema::Details_XmlSchemaInferenceException, System::Text::Details_EncoderFallbackException, System::Text::Details_DecoderFallbackException, System::Runtime::InteropServices::Details_ExternalException, System::Runtime::Serialization::Details_SerializationException, System::Collections::Generic::Details_KeyNotFoundException, System::ComponentModel::Details_InvalidEnumArgumentException, System::Threading::Details_ThreadInterruptedException, System::Threading::Details_ThreadAbortException, System::Threading::Details_SynchronizationLockException, System::Threading::Details_SemaphoreFullException, System::Threading::Details_ThreadStateException, System::Security::Authentication::Details_AuthenticationException, System::Security::Cryptography::Details_CryptographicUnexpectedOperationException, System::Security::Cryptography::Details_CryptographicException, System::Security::Details_SecurityException, System::Globalization::Details_CultureNotFoundException, System::IO::Details_PathTooLongException, System::IO::Details_FileLoadException, System::IO::Details_DirectoryNotFoundException, System::IO::Details_InvalidDataException, System::IO::Details_EndOfStreamException, System::IO::Details_IOException, System::Details_DataMisalignedException, System::Details_TypeInitializationException, System::Details_ExecutionEngineException, System::Details_TimeoutException, System::Details_StackOverflowException, System::Details_OperationCanceledException, System::Details_MethodAccessException, System::Details_MemberAccessException, System::Details_UnauthorizedAccessException, System::Details_NullReferenceException, System::Details_InvalidCastException, System::Details_RankException, System::Details_IndexOutOfRangeException, System::Details_OutOfMemoryException, System::Details_DivideByZeroException, System::Details_OverflowException, System::Details_ArithmeticException, System::Details_UriFormatException, System::Details_FormatException, System::Details_ArgumentOutOfRangeException, System::Details_ArgumentNullException, System::Details_ArgumentException, System::Details_PlatformNotSupportedException, System::Details_NotSupportedException, and System::Details_NotImplementedException.
|
inlineoverridevirtual |
Gets actual type of object. Analog of C# System.Object.GetType() call.
Reimplemented from System::Object.
Reimplemented in System::Runtime::Serialization::Details_SerializationException, System::Collections::Generic::Details_KeyNotFoundException, System::ComponentModel::Details_InvalidEnumArgumentException, System::Threading::Details_ThreadInterruptedException, System::Threading::Details_ThreadAbortException, System::Threading::Details_SynchronizationLockException, System::Threading::Details_SemaphoreFullException, System::Threading::Details_ThreadStateException, System::Security::Authentication::Details_AuthenticationException, System::Security::Cryptography::Details_CryptographicUnexpectedOperationException, System::Security::Cryptography::Details_CryptographicException, System::Security::Details_SecurityException, System::IO::Details_PathTooLongException, System::IO::Details_FileLoadException, System::IO::Details_DirectoryNotFoundException, System::IO::Details_InvalidDataException, System::IO::Details_EndOfStreamException, System::IO::Details_IOException, System::Details_DataMisalignedException, System::Details_TypeInitializationException, System::Details_ExecutionEngineException, System::Details_TimeoutException, System::Details_StackOverflowException, System::Details_OperationCanceledException, System::Details_MethodAccessException, System::Details_MemberAccessException, System::Details_UnauthorizedAccessException, System::Details_NullReferenceException, System::Details_InvalidCastException, System::Details_RankException, System::Details_IndexOutOfRangeException, System::Details_OutOfMemoryException, System::Details_DivideByZeroException, System::Details_OverflowException, System::Details_ArithmeticException, System::Details_UriFormatException, System::Details_FormatException, System::Details_ArgumentOutOfRangeException, System::Details_ArgumentNullException, System::Details_ArgumentException, System::Details_PlatformNotSupportedException, System::Details_NotSupportedException, and System::Details_NotImplementedException.
|
inlineoverridevirtual |
Check if object represents an instance of type described by targetType. Analog of C# 'is' operator.
target | TypeInfo structure describing the type to test current object against. |
Reimplemented from System::Object.
Reimplemented in System::Runtime::Serialization::Details_SerializationException, System::Collections::Generic::Details_KeyNotFoundException, System::ComponentModel::Details_InvalidEnumArgumentException, System::Threading::Details_ThreadInterruptedException, System::Threading::Details_ThreadAbortException, System::Threading::Details_SynchronizationLockException, System::Threading::Details_SemaphoreFullException, System::Threading::Details_ThreadStateException, System::Security::Authentication::Details_AuthenticationException, System::Security::Cryptography::Details_CryptographicUnexpectedOperationException, System::Security::Cryptography::Details_CryptographicException, System::Security::Details_SecurityException, System::IO::Details_PathTooLongException, System::IO::Details_FileLoadException, System::IO::Details_DirectoryNotFoundException, System::IO::Details_InvalidDataException, System::IO::Details_EndOfStreamException, System::IO::Details_IOException, System::Details_DataMisalignedException, System::Details_TypeInitializationException, System::Details_ExecutionEngineException, System::Details_TimeoutException, System::Details_StackOverflowException, System::Details_OperationCanceledException, System::Details_MethodAccessException, System::Details_MemberAccessException, System::Details_UnauthorizedAccessException, System::Details_NullReferenceException, System::Details_InvalidCastException, System::Details_RankException, System::Details_IndexOutOfRangeException, System::Details_OutOfMemoryException, System::Details_DivideByZeroException, System::Details_OverflowException, System::Details_ArithmeticException, System::Details_UriFormatException, System::Details_FormatException, System::Details_ArgumentOutOfRangeException, System::Details_ArgumentNullException, System::Details_ArgumentException, System::Details_PlatformNotSupportedException, System::Details_NotSupportedException, and System::Details_NotImplementedException.
|
inlinestatic |
Returns information about the current type.