CppCommon 1.0.5.0
C++ Common Library
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Friends | List of all members
CppCommon::Exception Class Reference

Exception. More...

#include <exceptions.h>

Inheritance diagram for CppCommon::Exception:
CppCommon::ArgumentException CppCommon::DomainException CppCommon::RuntimeException CppCommon::SecurityException CppCommon::SystemException CppCommon::FileSystemException CppCommon::DLLException

Public Member Functions

 Exception (const std::string &message="")
 Default class constructor.
 
 Exception (const Exception &)=default
 
 Exception (Exception &&)=default
 
virtual ~Exception ()=default
 
Exceptionoperator= (const Exception &)=default
 
Exceptionoperator= (Exception &&)=default
 
const std::string & message () const noexcept
 Get exception message.
 
const SourceLocationlocation () const noexcept
 Get exception location.
 
const char * what () const noexcept override
 Get string identifying exception.
 
virtual std::string string () const
 Get string from the current exception.
 

Protected Attributes

std::string _cache
 Cached exception string.
 
std::string _message
 Exception message.
 
SourceLocation _location
 Exception location.
 

Friends

std::ostream & operator<< (std::ostream &os, const Exception &ex)
 Output exception into the given output stream.
 
template<class T >
T && operator+ (const SourceLocation &location, T &&instance)
 Link exception with source location.
 

Detailed Description

Exception.

Exception base interface.

Not thread-safe.

Definition at line 33 of file exceptions.h.

Constructor & Destructor Documentation

◆ Exception() [1/3]

CppCommon::Exception::Exception ( const std::string &  message = "")
inlineexplicit

Default class constructor.

Parameters
message- Exception message (default is "")

Definition at line 40 of file exceptions.h.

◆ Exception() [2/3]

CppCommon::Exception::Exception ( const Exception )
default

◆ Exception() [3/3]

CppCommon::Exception::Exception ( Exception &&  )
default

◆ ~Exception()

virtual CppCommon::Exception::~Exception ( )
virtualdefault

Member Function Documentation

◆ location()

const SourceLocation & CppCommon::Exception::location ( ) const
inlinenoexcept

Get exception location.

Definition at line 51 of file exceptions.h.

◆ message()

const std::string & CppCommon::Exception::message ( ) const
inlinenoexcept

Get exception message.

Definition at line 49 of file exceptions.h.

◆ operator=() [1/2]

Exception & CppCommon::Exception::operator= ( const Exception )
default

◆ operator=() [2/2]

Exception & CppCommon::Exception::operator= ( Exception &&  )
default

◆ string()

std::string CppCommon::Exception::string ( ) const
virtual

Get string from the current exception.

Reimplemented in CppCommon::SystemException, and CppCommon::FileSystemException.

Definition at line 29 of file exceptions.cpp.

◆ what()

const char * CppCommon::Exception::what ( ) const
overridenoexcept

Get string identifying exception.

Definition at line 15 of file exceptions.cpp.

Friends And Related Symbol Documentation

◆ operator+

template<class T >
T && operator+ ( const SourceLocation location,
T &&  instance 
)
friend

Link exception with source location.

Definition at line 65 of file exceptions.h.

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const Exception ex 
)
friend

Output exception into the given output stream.

Definition at line 60 of file exceptions.h.

Member Data Documentation

◆ _cache

std::string CppCommon::Exception::_cache
mutableprotected

Cached exception string.

Definition at line 70 of file exceptions.h.

◆ _location

SourceLocation CppCommon::Exception::_location
protected

Exception location.

Definition at line 74 of file exceptions.h.

◆ _message

std::string CppCommon::Exception::_message
protected

Exception message.

Definition at line 72 of file exceptions.h.


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