MPQC  3.0.0-alpha
sc::SCException Class Reference

This is a sc::Exception specialization that keeps track of the ClassDesc for the MPQC object from which it is thrown, and optional sc::Debugger::Backtrace object. More...

#include <util/misc/scexception.h>

Inheritance diagram for sc::SCException:
sc::Exception mpqc::TensorDimensionsException mpqc::TensorIndexException mpqc::TensorRangeException sc::AlgorithmException sc::AssertionFailed sc::InputError sc::LimitExceeded< T > sc::ProgrammingError sc::SystemException

Public Member Functions

 SCException (const char *description=0, const char *file=0, int line=0, const ClassDesc *class_desc=0, const char *exception_type="SCException") MPQC__NOEXCEPT
 Create an SCException. More...
 
 SCException (const SCException &) MPQC__NOEXCEPT
 
const char * what () const MPQC__NOEXCEPT
 overload of Exception::what()
 
const ClassDescclass_desc () const MPQC__NOEXCEPT
 Returns the class descriptor of the object which generated the exception. More...
 
const char * exception_type () const MPQC__NOEXCEPT
 Returns the classname of the exception. May return null.
 
std::ostream & elaborate ()
 Returns a stream where additional information about the exception can be written. More...
 
- Public Member Functions inherited from sc::Exception
 Exception (const char *description=0, const char *file=0, int line=0) MPQC__NOEXCEPT
 Create an Exception. More...
 
 Exception (const Exception &) MPQC__NOEXCEPT
 
const char * description () const MPQC__NOEXCEPT
 Reimplementation of std::exception::what(). More...
 
const char * file () const MPQC__NOEXCEPT
 Returns the name of the file in which the exception was created. More...
 
int line () const MPQC__NOEXCEPT
 Returns the line number where the exception was created. More...
 

Detailed Description

This is a sc::Exception specialization that keeps track of the ClassDesc for the MPQC object from which it is thrown, and optional sc::Debugger::Backtrace object.

Constructor & Destructor Documentation

◆ SCException()

sc::SCException::SCException ( const char *  description = 0,
const char *  file = 0,
int  line = 0,
const ClassDesc class_desc = 0,
const char *  exception_type = "SCException" 
)

Create an SCException.

Parameters
descriptiona description of the problem.
filethe file name where the problem occured.
linethe line number where the exception occured.
class_descthe ClassDesc for the object causing the exception.
exception_typethe classname of the SCException specialization. The default is "SCException".

It is suggested that the special macros FILE and LINE be given as the file and line arguments, respectively.

Member Function Documentation

◆ class_desc()

const ClassDesc* sc::SCException::class_desc ( ) const
inline

Returns the class descriptor of the object which generated the exception.

May return null.

◆ elaborate()

std::ostream& sc::SCException::elaborate ( )

Returns a stream where additional information about the exception can be written.

This will throw if a valid stream cannot be returned (possibly due to low memory).

Referenced by sc::LimitExceeded< T >::LimitExceeded().


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

Generated at Sun Jan 26 2020 23:24:11 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.