NCBI C++ ToolKit
Classes | Macros | Functions | Variables
ncbiexpt.cpp File Reference
#include <ncbi_pch.hpp>
#include <corelib/ncbiexpt.hpp>
#include <corelib/ncbithr.hpp>
#include <corelib/ncbi_safe_static.hpp>
#include <corelib/ncbi_param.hpp>
#include <corelib/request_ctx.hpp>
#include <corelib/error_codes.hpp>
#include "ncbisys.hpp"
#include <errno.h>
#include <string.h>
#include <stdio.h>
#include <stack>
#include <atomic>
+ Include dependency graph for ncbiexpt.cpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

class  CRequestContextRef
 
class  CExceptionWrapper
 

Macros

#define NCBI_USE_ERRCODE_X   Corelib_Diag
 

Functions

static atomic< bools_DoThrowTraceAbort (false)
 
static atomic< bools_DTTA_Initialized (false)
 
void SetThrowTraceAbort (bool abort_on_throw_trace)
 Specify whether to call "abort()" inside the DoThrowTraceAbort(). More...
 
void DoThrowTraceAbort (void)
 "abort()" the program if set by SetThrowTraceAbort() or $ABORT_ON_THROW. More...
 
void DoDbgPrint (const CDiagCompileInfo &info, const char *message)
 Print the specified debug message. More...
 
void DoDbgPrint (const CDiagCompileInfo &info, const string &message)
 Print the specified debug message. More...
 
void DoDbgPrint (const CDiagCompileInfo &info, const char *msg1, const char *msg2)
 Print the specified debug messages. More...
 
 NCBI_PARAM_ENUM_ARRAY (EDiagSev, EXCEPTION, Stack_Trace_Level)
 
 NCBI_PARAM_ENUM_DECL (EDiagSev, EXCEPTION, Stack_Trace_Level)
 
 NCBI_PARAM_ENUM_DEF_EX (EDiagSev, EXCEPTION, Stack_Trace_Level, eDiag_Critical, eParam_NoThread, EXCEPTION_STACK_TRACE_LEVEL)
 
typedef NCBI_PARAM_TYPE (EXCEPTION, Stack_Trace_Level) TStackTraceLevelParam
 
 NCBI_PARAM_DECL (bool, EXCEPTION, Abort_If_Critical)
 
 NCBI_PARAM_DEF_EX (bool, EXCEPTION, Abort_If_Critical, false, eParam_NoThread, EXCEPTION_ABORT_IF_CRITICAL)
 
typedef NCBI_PARAM_TYPE (EXCEPTION, Abort_If_Critical) TAbortIfCritical
 
const char * Ncbi_strerror (int errnum)
 
static void s_TlsErrorMessageCleanup (char *msg, void *)
 
void g_ThrowOnNull (void)
 

Variables

static CSafeStatic< TAbortIfCritical > s_AbortIfCritical
 
static CStaticTls< char > s_TlsErrorMessage
 

Macro Definition Documentation

◆ NCBI_USE_ERRCODE_X

#define NCBI_USE_ERRCODE_X   Corelib_Diag

Definition at line 54 of file ncbiexpt.cpp.

Function Documentation

◆ NCBI_PARAM_DECL()

NCBI_PARAM_DECL ( bool  ,
EXCEPTION  ,
Abort_If_Critical   
)

◆ NCBI_PARAM_DEF_EX()

NCBI_PARAM_DEF_EX ( bool  ,
EXCEPTION  ,
Abort_If_Critical  ,
false  ,
eParam_NoThread  ,
EXCEPTION_ABORT_IF_CRITICAL   
)

◆ NCBI_PARAM_ENUM_ARRAY()

NCBI_PARAM_ENUM_ARRAY ( EDiagSev  ,
EXCEPTION  ,
Stack_Trace_Level   
)

Definition at line 109 of file ncbiexpt.cpp.

References eDiag_Critical, eDiag_Error, eDiag_Fatal, eDiag_Info, eDiag_Trace, and eDiag_Warning.

◆ NCBI_PARAM_ENUM_DECL()

NCBI_PARAM_ENUM_DECL ( EDiagSev  ,
EXCEPTION  ,
Stack_Trace_Level   
)

◆ NCBI_PARAM_ENUM_DEF_EX()

NCBI_PARAM_ENUM_DEF_EX ( EDiagSev  ,
EXCEPTION  ,
Stack_Trace_Level  ,
eDiag_Critical  ,
eParam_NoThread  ,
EXCEPTION_STACK_TRACE_LEVEL   
)

◆ NCBI_PARAM_TYPE() [1/2]

typedef NCBI_PARAM_TYPE ( EXCEPTION  ,
Abort_If_Critical   
)

◆ NCBI_PARAM_TYPE() [2/2]

typedef NCBI_PARAM_TYPE ( EXCEPTION  ,
Stack_Trace_Level   
)

◆ s_DoThrowTraceAbort()

static atomic<bool> s_DoThrowTraceAbort ( false  )
static

◆ s_DTTA_Initialized()

static atomic<bool> s_DTTA_Initialized ( false  )
static

◆ s_TlsErrorMessageCleanup()

static void s_TlsErrorMessageCleanup ( char *  msg,
void *   
)
static

Definition at line 820 of file ncbiexpt.cpp.

Referenced by CLastErrorAdapt::GetErrCodeString().

Variable Documentation

◆ s_AbortIfCritical

CSafeStatic<TAbortIfCritical> s_AbortIfCritical
static

Definition at line 150 of file ncbiexpt.cpp.

Referenced by CException::CException(), and CException::SetSeverity().

◆ s_TlsErrorMessage

CStaticTls<char> s_TlsErrorMessage
static

Definition at line 819 of file ncbiexpt.cpp.

Referenced by CLastErrorAdapt::GetErrCodeString().

Modified on Sat Dec 09 04:46:39 2023 by modify_doxy.py rev. 669887