Safir SDK Core
Loading...
Searching...
No Matches
Safir::Dob::Typesystem::Exception Class Reference

This is the base class of all (non-Fundamental) Exceptions. More...

#include <Safir/Dob/Typesystem/Exceptions.h>

Inheritance diagram for Safir::Dob::Typesystem::Exception:
[legend]
Collaboration diagram for Safir::Dob::Typesystem::Exception:
[legend]

Public Member Functions

 Exception (const std::wstring &message, const std::wstring &fileName, const Dob::Typesystem::Int64 lineNumber)
 Constructor with exception information.
 
TypeId GetTypeId () const override
 Get the type id of this exception.
 
- Public Member Functions inherited from Safir::Dob::Typesystem::Internal::CommonExceptionBase
 CommonExceptionBase (const std::wstring &message, const std::wstring &fileName, const Dob::Typesystem::Int64 lineNumber)
 Constructor with exception information.
 
virtual ~CommonExceptionBase () throw ()
 Destroy the exception.
 
const std::wstring GetExceptionInfo () const
 Get a formatted string containing all the information in the exception.
 
const char * what () const override throw ()
 Get the GetExceptionInfo as a UTF8 encoded string.
 
const std::wstring & GetMessage () const
 Get the message about why the exception occurred.
 
virtual const std::wstring GetName () const =0
 Get the exception name.
 
const std::wstring & GetFileName () const
 Get the name of the file where the exception occurred.
 
Dob::Typesystem::Int64 GetLineNumber () const
 Get the line number that the exception occurred on.
 

Static Public Attributes

static const TypeId ExceptionTypeId = 8409897425067168944LL
 The TypeId of this exception.
 

Detailed Description

This is the base class of all (non-Fundamental) Exceptions.

In comparison to FundamentalException the exceptions that derive from Exception are more of a dynamic nature. These exceptions are expected to be handled directly by the calling function and are possible to recover from.

Constructor & Destructor Documentation

◆ Exception()

Safir::Dob::Typesystem::Exception::Exception ( const std::wstring & message,
const std::wstring & fileName,
const Dob::Typesystem::Int64 lineNumber )

Constructor with exception information.

Creates an exception that contains information about why and where the exception occurred.

Parameters
message[in] - A message describing why the exception occurred.
fileName[in] - The name of the file where the exception occurred. Always use WFILE as the argument for this parameter.
lineNumber[in] - The line number that the exception occurred on. Always use LINE as the argument for this parameter.

Member Function Documentation

◆ GetTypeId()

TypeId Safir::Dob::Typesystem::Exception::GetTypeId ( ) const
overridevirtual

Get the type id of this exception.

Gets the type id of the exception. Method is virtual to ensure that the right value gets returned for pointers or references.

Note: This method is overridden by all auto-generated classes.

Returns
The TypeId of the exception.

Implements Safir::Dob::Typesystem::Internal::CommonExceptionBase.

Reimplemented in Safir::Dob::LowMemoryException, Safir::Dob::NotFoundException, and Safir::Dob::OverflowException.

Member Data Documentation

◆ ExceptionTypeId

const TypeId Safir::Dob::Typesystem::Exception::ExceptionTypeId = 8409897425067168944LL
static

The TypeId of this exception.