NCBI C++ ToolKit
Public Types | Public Member Functions | List of all members
CSeqDBException Class Reference

Search Toolkit Book for CSeqDBException

CSeqDBException. More...

#include <objtools/blast/seqdb_reader/seqdbcommon.hpp>

+ Inheritance diagram for CSeqDBException:
+ Collaboration diagram for CSeqDBException:

Public Types

enum  EErrCode {
  eArgErr , eFileErr , eMemErr , eVersionErr ,
  eTaxidErr , eOpenFileErr
}
 Errors are classified into one of two types. More...
 
- Public Types inherited from CException
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

virtual const char * GetErrCodeString () const override
 Get a message describing the situation leading to the throw. More...
 
 NCBI_EXCEPTION_DEFAULT (CSeqDBException, CException)
 Include standard NCBI exception behavior. More...
 
- Public Member Functions inherited from CException
 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...
 
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...
 

Additional Inherited Members

- Static Public Member Functions inherited from CException
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 inherited from CException
 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...
 

Detailed Description

CSeqDBException.

This exception class is thrown for SeqDB related errors such as corrupted blast database or alias files, incorrect arguments to SeqDB methods, and failures of SeqDB to accomplish tasks for other reasons. SeqDB may be used in applications with strong robustness requirements, where it is considered better to fail an operation and lose context information, than to terminate with a core dump, and preserve it, so exceptions are the preferred mechanism for most error scenarios. SeqDB still uses assertions in cases where memory corruption is suspected, or cleanup may not be possible.

Definition at line 73 of file seqdbcommon.hpp.

Member Enumeration Documentation

◆ EErrCode

Errors are classified into one of two types.

Enumerator
eArgErr 

Argument validation failed.

eFileErr 

Files were missing or contents were incorrect.

eMemErr 

Memory allocation failed.

eVersionErr 

DB version error.

eTaxidErr 

No Tax Id Found.

eOpenFileErr 

Too many open files.

Definition at line 76 of file seqdbcommon.hpp.

Member Function Documentation

◆ GetErrCodeString()

virtual const char* CSeqDBException::GetErrCodeString ( void  ) const
inlineoverridevirtual

Get a message describing the situation leading to the throw.

Reimplemented from CException.

Definition at line 97 of file seqdbcommon.hpp.

References CException::GetErrCodeString().

◆ NCBI_EXCEPTION_DEFAULT()

CSeqDBException::NCBI_EXCEPTION_DEFAULT ( CSeqDBException  ,
CException   
)

Include standard NCBI exception behavior.


The documentation for this class was generated from the following file:
Modified on Fri Sep 20 14:57:26 2024 by modify_doxy.py rev. 669887