NCBI C++ ToolKit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
CException Class Reference

Search Toolkit Book for CException

#include <corelib/ncbiexpt.hpp>

Inherits std::exception.

Inherited by CASNCacheException, CAlgoAlignException, CAlgoAlignUtilException, CAlgoFeatureGeneratorException, CAlignRangeCollException, CAlnMultiCGIException, CAmbiguousDateException, CAnnotMapperException, CAppHitFilterException, CAppNWAException, CAssemblyParserException, CBGZFException, CBadResiduesException, CBlastException, CBlastHitMatrixCGIException, CBlastServicesException, CBlastSystemException, CBlobStorageException, CCDDClientException, CCRowReaderStream_IANA_CSV_Exception, CCRowReaderStream_IANA_TSV_Exception, CCacheException, CCassandraException, CClustererException, CCompoundIDException, CCoreException, CDatatoolException, CDbIndex_Exception, CDiffException, CEUtilsException, CFeatFilterQueryException, CFlatException, CGCServiceException, CGeneInfoException, CGeneralException, CGeneralScoreMatrixException, CGetPasswordFromConsoleException, CGffDeconcatException, CGridClientException, CGridRPCBaseClientException, CGridWorkerNodeException, CGumbelParamsException, CHgvsVariantException, CHttpCookieException, CHttpSessionException, CHugeFileException, CIdMapperException, CImportError, CIndexSuperHeader_Exception, CIndexedDbException, CInputException, CInvalidConversionException, CInvalidDataException, CInvalidParamException, CIpgStorageException, CJsonException, CJsonOverUTTPException, CKmerCountsException, CLinksException, CManifestException, CMaskReader::Exception, CMinHashException, CModReaderException, CMultiAlignerException, CMultisourceException, CNSClientFactoryException, CNSProtoParserException, CNetServiceException, CNetSrvConnException, CNetStorageGCException, CNetStorageServerException, CObjMgrException, CObjReaderException, CObjWriterException, COpenViewManager::COVMException, CPSG_Exception, CPSG_MyNCBIException, CPhyTreeCalcException, CPhyTreeFormatterException, CPhyloTreeException, CPrefetchCanceled, CPrefetchFailed, CPrjStorageException, CProjBulderAppException, CPubseqGatewayException, CPubseqGatewayUVException, CQueryExecException, CQueryParseException, CRPCClientException, CRandomException, CRegexpException, CRemoteUpdaterException, CRowReaderException, CSDB_Exception, CSQLITE3_ICacheException, CSQLITE_Exception, CSRSearch::InternalException, CScorePValuesException, CSearchException, CSeqAnnotException, CSeqDBException, CSeqIdException, CSeqLocException, CSeqMasker::CSeqMaskerException, CSeqMaskerIstatAscii::Exception, CSeqMaskerIstatBin::Exception, CSeqMaskerIstatFactory::Exception, CSeqMaskerIstatOAscii::Exception, CSeqMaskerIstatOBinary::Exception, CSeqMaskerOstat::CSeqMaskerOstatException, CSeqMaskerOstatAscii::CSeqMaskerOstatAsciiException, CSeqMaskerOstatFactory::CSeqMaskerOstatFactoryException, CSeqMaskerOstatOpt::Exception, CSeqMaskerUsetArray::Exception, CSeqMaskerUsetHash::Exception, CSeqMaskerUsetSimple::Exception, CSeqSubSplitException, CSeqTableException, CSeqUpdateException, CSeqUtilException, CSeq_id_MapperException, CSeqsetException, CSequenceIStream::CSequenceIStream_Exception, CSerialException, CSplignAppException, CSplitException, CSrzException, CStopWorkException, CStringOrBlobStorageRWException, CSyncQueueException, CThreadPoolException, CUnsupportedEditSaverException, CUrlException, CUser_object::CRefGeneTrackingException, CUtilException, CUvBaseException, CVariationIrepException, CVariationValidateException, CWinMaskConfigException, CWinMaskCountsConverter::Exception, CWinMaskCountsGenerator::GenCountsException, CWriteDBException, NAutomation::CAutomationException, variation::CHgvsParser::CHgvsParserException, and variation_ref::CHgvsParser::CHgvsParserException.

+ Collaboration diagram for CException:

Public Types

enum  EErrCode { eInvalid = -1 , eUnknown = 0 }
 Error types that an application can generate. More...
 
enum  EFlags { fConsole = (1 << 0) }
 Miscellaneous generic hints, flags and attributes. More...
 
typedef int TErrCode
 
typedef int TFlags
 

Public Member Functions

 CException (const CDiagCompileInfo &info, const CException *prev_exception, EErrCode err_code, const string &message, EDiagSev severity=eDiag_Error, TFlags flags=0)
 Constructor. More...
 
 CException (const CDiagCompileInfo &info, const CException *prev_exception, const CExceptionArgs< EErrCode > &args, const string &message)
 
 CException (const CException &other)
 Copy constructor. More...
 
void AddBacklog (const CDiagCompileInfo &info, const string &message, EDiagSev severity=eDiag_Error)
 Add a message to backlog (to re-throw the same exception then). More...
 
void AddPrevious (const CException *prev_exception)
 
void AddToMessage (const string &add_msg)
 
virtual void Throw (void) const
 Polymorphically (re)throw an exception whose exact type is uncertain. More...
 
virtual const char * what (void) const noexcept
 Standard report (includes full backlog). More...
 
void Report (const CDiagCompileInfo &info, const string &title, CExceptionReporter *reporter=0, TDiagPostFlags flags=eDPF_Exception) const
 Report the exception. More...
 
string ReportThis (TDiagPostFlags flags=eDPF_Exception) const
 Report this exception only. More...
 
string ReportAll (TDiagPostFlags flags=eDPF_Exception) const
 Report all exceptions. More...
 
void ReportStd (ostream &out, TDiagPostFlags flags=eDPF_Exception) const
 Report "standard" attributes. More...
 
virtual void ReportExtra (ostream &out) const
 Report "non-standard" attributes. More...
 
const CStackTraceGetStackTrace (void) const
 Get the saved stack trace if available or NULL. More...
 
EDiagSev GetSeverity (void) const
 Get exception severity. More...
 
CExceptionSetSeverity (EDiagSev severity)
 Set exception severity. More...
 
virtual const char * GetType (void) const
 Get class name as a string. More...
 
virtual const char * GetErrCodeString (void) const
 Get error code interpreted as text. More...
 
const stringGetFile (void) const
 Get file name used for reporting. More...
 
void SetModule (const string &module)
 Set module name used for reporting. More...
 
const stringGetModule (void) const
 Get module name used for reporting. More...
 
void SetClass (const string &nclass)
 Set class name used for reporting. More...
 
const stringGetClass (void) const
 Get class name used for reporting. More...
 
void SetFunction (const string &function)
 Set function name used for reporting. More...
 
const stringGetFunction (void) const
 Get function name used for reporting. More...
 
int GetLine (void) const
 Get line number where error occurred. More...
 
TErrCode GetErrCode (void) const
 Get error code. More...
 
const stringGetMsg (void) const
 Get message string. More...
 
const CExceptionGetPredecessor (void) const
 Get "previous" exception from the backlog. More...
 
bool HasMainText (void) const
 Check if exception has main text in the chain. More...
 
virtual ~CException (void) noexcept
 Destructor. More...
 
bool IsSetFlag (EFlags flag) const
 Check if the flag is set. More...
 
CExceptionSetFlag (EFlags flag)
 Set flag (add to other flags) More...
 
CExceptionUnsetFlag (EFlags flag)
 Unset flag (other flags are left as is) More...
 
CRequestContextGetRequestContext (void) const
 Get the request context in which the exception was thrown. More...
 
void SetRetriable (ERetriable retriable)
 Set the info about ability to retry an action caused the exception. More...
 
virtual ERetriable GetRetriable (void) const
 Retrieve info about ability to retry an action caused the exception. More...
 

Static Public Member Functions

static bool EnableBackgroundReporting (bool enable)
 Enable background reporting. More...
 
static void SetStackTraceLevel (EDiagSev level)
 Set severity level for saving and printing stack trace. More...
 
static EDiagSev GetStackTraceLevel (void)
 Get current severity level for saving and printing stack trace. More...
 

Protected Member Functions

 CException (const CDiagCompileInfo &info, const CException *prev_exception, const string &message, EDiagSev severity=eDiag_Error, TFlags flags=0)
 Constructor for derived classes. More...
 
 CException (void)
 Constructor with no arguments. More...
 
virtual void x_ReportToDebugger (void) const
 Helper method for reporting to the system debugger. More...
 
virtual const CExceptionx_Clone (void) const
 Helper method for cloning the exception. More...
 
virtual void x_Init (const CDiagCompileInfo &info, const string &message, const CException *prev_exception, EDiagSev severity)
 Helper method for initializing exception data. More...
 
virtual void x_InitArgs (const CExceptionArgs_Base &args)
 Process additional arguments. More...
 
virtual void x_Assign (const CException &src)
 Helper method for copying exception data. More...
 
virtual void x_AssignErrCode (const CException &src)
 Helper method for assigning error code. More...
 
virtual void x_InitErrCode (CException::EErrCode err_code)
 Helper method for initializing error code. More...
 
virtual int x_GetErrCode (void) const
 Helper method for getting error code. More...
 
void x_GetStackTrace (void)
 Get and store current stack trace. More...
 
void x_ThrowSanityCheck (const type_info &expected_type, const char *human_name) const
 Warn if Throw() will end up slicing its invocant. More...
 

Private Types

typedef const CExceptionTExceptionPtr
 

Private Member Functions

CExceptionoperator= (const CException &)
 Private assignment operator to prohibit assignment. More...
 

Private Attributes

EDiagSev m_Severity
 Severity level for the exception. More...
 
string m_File
 File to report on. More...
 
int m_Line
 Line number. More...
 
int m_ErrCode
 Error code. More...
 
string m_Msg
 Message string. More...
 
string m_Module
 Module to report on. More...
 
string m_Class
 Class to report on. More...
 
string m_Function
 Function to report on. More...
 
string m_What
 What type of exception. More...
 
TExceptionPtr m_Predecessor
 Previous exception. More...
 
bool m_InReporter
 Reporter flag. More...
 
bool m_MainText
 Exception has main text. More...
 
unique_ptr< CStackTracem_StackTrace
 Saved stack trace. More...
 
TFlags m_Flags
 Flags, hints, attributes. More...
 
ERetriable m_Retriable
 In some cases it is known for sure if an action caused the exception can be tried again or not. More...
 
unique_ptr< CRequestContextRefm_RequestContext
 

Static Private Attributes

static bool sm_BkgrEnabled = false
 Background reporting enabled flag. More...
 

Detailed Description

Examples
/home/coremake/doxygen/cxx/include/corelib/ncbistr.hpp.

Definition at line 876 of file ncbiexpt.hpp.


The documentation for this class was generated from the following files:
Modified on Wed Apr 17 13:08:36 2024 by modify_doxy.py rev. 669887