PLCnext API Documentation 25.0.2.69
Public Types | Public Member Functions | Protected Member Functions | List of all members
Arp::Base::Commons::Exceptions::CommonExceptionBase Class Reference

This class serves as base class for all Arp commons exceptions. More...

#include <CommonExceptionBase.hpp>

Inheritance diagram for Arp::Base::Commons::Exceptions::CommonExceptionBase:
Inheritance graph

Public Types

using StackCounter = Arp::Base::Commons::Runtime::StackCounter
 
using Stacktrace = Arp::Base::Commons::Runtime::Stacktrace
 
using StacktraceItems = Arp::Base::Commons::Runtime::Stacktrace::Items
 
- Public Types inherited from Arp::Base::Core::Exception
using Ptr = std::unique_ptr< Exception >
 The smart pointer type of this class.
 
using TypeCode = std::underlying_type< Arp::Base::Core::ExceptionTypeId >::type
 The integral type of the type code.
 

Public Member Functions

const StacktraceGetStacktrace (void) const
 Gets the stackstrace of the point of creating this exception. More...
 
const StacktraceItems & GetStacktraceItems (void) const
 Gets the stackstrace items of the point of creating this exception. More...
 
- Public Member Functions inherited from Arp::Base::Core::Exception
 Exception (const Exception &arg)
 Default copy constructor.
 
 Exception (Exception &&arg) noexcept
 Default move constructor.
 
Exceptionoperator= (const Exception &arg)
 Default copy-assignment operator.
 
Exceptionoperator= (Exception &&arg) noexcept
 Default move-assignment operator.
 
virtual ~Exception (void)
 Default destructor.
 
 Exception (void)
 Constructs an empty instance of class Exception.
 
template<typename... Args>
 Exception (const char *message, Args &&... args)
 Constructs an instance of class Exception. More...
 
 Exception (const String &message)
 Constructs an instance of class Exception. More...
 
 Exception (String &&message)
 Constructs an instance of class Exception. More...
 
 Exception (const String &message, const Exception &innerException)
 Constructs an instance of class Exception. More...
 
 Exception (String &&message, const Exception &innerException)
 Constructs an instance of class Exception. More...
 
const StringGetMessage (void) const
 Gets the error message of this exception. More...
 
ExceptionTypeId GetTypeId (void) const
 Gets the type ID of this exception. More...
 
TypeCode GetTypeCode (void) const
 Gets the type code of this exception. More...
 
bool HasInnerException (void) const
 Determines if this exception has an inner exception. More...
 
const ExceptionGetInnerException (void) const
 Gets the inner exception of this exception. More...
 
String ToString (void) const
 This operation should be used for logging and returns a reasonable description of the exception cause. More...
 
virtual Exception::Ptr Clone (void) const
 This operation clones this instance polymorphically as a deep copy. More...
 
virtual String Format (bool withInnerException) const
 Formats this exception using the given indent level. More...
 
Impl & GetImpl (void)
 For internal use only.
 
const Impl & GetImpl (void) const
 

Protected Member Functions

 CommonExceptionBase (const CommonExceptionBase &arg)
 Default copy constructor.
 
 CommonExceptionBase (CommonExceptionBase &&arg) noexcept
 Default move constructor.
 
CommonExceptionBaseoperator= (const CommonExceptionBase &arg)
 Default copy-assignment operator.
 
CommonExceptionBaseoperator= (CommonExceptionBase &&arg) noexcept
 Default move-assignment operator.
 
 ~CommonExceptionBase (void) override
 Default destructor.
 
 CommonExceptionBase (ExceptionTypeId typeId, String &&message, StackCounter stackCounter)
 Constructs an CommonExceptionBase instance. Used by derived classes only. More...
 
 CommonExceptionBase (ExceptionTypeId typeId, const String &message, StackCounter stackCounter)
 Constructs an CommonExceptionBase instance. Used by derived classes only. More...
 
 CommonExceptionBase (ExceptionTypeId typeId, String &&message, const Exception &innerException, StackCounter stackCounter)
 Constructs an CommonExceptionBase instance. Used by derived classes only. More...
 
 CommonExceptionBase (ExceptionTypeId typeId, const String &message, const Exception &innerException, StackCounter stackCounter)
 Constructs an CommonExceptionBase instance. Used by derived classes only. More...
 
String Format (bool withInnerException) const override
 Formats this exception using the given indent level. More...
 
- Protected Member Functions inherited from Arp::Base::Core::Exception
 Exception (ExceptionTypeId typeId, String &&message)
 Used by derived exception classes. More...
 
 Exception (ExceptionTypeId typeId, const String &message)
 Used by derived exception classes. More...
 
 Exception (ExceptionTypeId typeId, String &&message, const Exception &innerException)
 Used by derived exception classes. More...
 
 Exception (ExceptionTypeId typeId, const String &message, const Exception &innerException)
 Used by derived exception classes. More...
 
 Exception (String &&message, const Exception::Ptr &innerExceptionPtr)
 DEPRECATED. More...
 
String Format (int indentLevel, bool withInnerException) const
 DEPRECATED. More...
 
virtual uint32 GetTypeCodeInternal (void) const
 DEPRECATED. More...
 

Detailed Description

This class serves as base class for all Arp commons exceptions.

The difference of this class to the overall base class Arp::Base::Core::Exception is that the latter does not provide the stacktrace.

Constructor & Destructor Documentation

◆ CommonExceptionBase() [1/4]

Arp::Base::Commons::Exceptions::CommonExceptionBase::CommonExceptionBase ( ExceptionTypeId  typeId,
String &&  message,
StackCounter  stackCounter 
)
protected

Constructs an CommonExceptionBase instance. Used by derived classes only.

Parameters
typeIdThe type ID of the derived exception.
messageThe exception message.
stackCounterThe counter of invocations to be skipped when building the stacktrace for logging.

◆ CommonExceptionBase() [2/4]

Arp::Base::Commons::Exceptions::CommonExceptionBase::CommonExceptionBase ( ExceptionTypeId  typeId,
const String message,
StackCounter  stackCounter 
)
protected

Constructs an CommonExceptionBase instance. Used by derived classes only.

Parameters
typeIdThe type ID of the derived exception.
messageThe exception message.
skipStacktraceDepthThe number of stacktrace entries to be skipped.
stackCounterThe counter of invocations to be skipped when building the stacktrace for logging.

◆ CommonExceptionBase() [3/4]

Arp::Base::Commons::Exceptions::CommonExceptionBase::CommonExceptionBase ( ExceptionTypeId  typeId,
String &&  message,
const Exception innerException,
StackCounter  stackCounter 
)
protected

Constructs an CommonExceptionBase instance. Used by derived classes only.

Parameters
typeIdThe type ID of the derived exception.
messageThe exception message.
innerExceptionThe inner exception.
skipStacktraceDepthThe number of stacktrace entries to be skipped.
stackCounterThe counter of invocations to be skipped when building the stacktrace for logging.

◆ CommonExceptionBase() [4/4]

Arp::Base::Commons::Exceptions::CommonExceptionBase::CommonExceptionBase ( ExceptionTypeId  typeId,
const String message,
const Exception innerException,
StackCounter  stackCounter 
)
protected

Constructs an CommonExceptionBase instance. Used by derived classes only.

Parameters
typeIdThe type ID of the derived exception.
messageThe exception message.
innerExceptionThe inner exception.
stackCounterThe counter of invocations to be skipped when building the stacktrace for logging.

Member Function Documentation

◆ Format()

String Arp::Base::Commons::Exceptions::CommonExceptionBase::Format ( bool  withInnerException) const
overrideprotectedvirtual

Formats this exception using the given indent level.

Reimplemented from Arp::Base::Core::Exception.

◆ GetStacktrace()

const CommonExceptionBase::Stacktrace & Arp::Base::Commons::Exceptions::CommonExceptionBase::GetStacktrace ( void  ) const

Gets the stackstrace of the point of creating this exception.

Returns
The stackstrace of this exception.

◆ GetStacktraceItems()

const CommonExceptionBase::StacktraceItems & Arp::Base::Commons::Exceptions::CommonExceptionBase::GetStacktraceItems ( void  ) const

Gets the stackstrace items of the point of creating this exception.

Returns
The stackstrace items of this exception.

The documentation for this class was generated from the following files: