Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TError.h File Reference
#include <DllImport.h>
#include "RtypesCore.h"
#include <ROOT/RConfig.hxx>
#include <cstdarg>
#include <functional>
Include dependency graph for TError.h:

Namespaces

namespace  ROOT
 tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tbb::task_arena without forward declaring tbb::interface7
 
namespace  ROOT::Internal
 

Macros

#define R__ASSERT(e)
 Checks condition e and reports a fatal error if it's false.
 
#define R__CHECK(e)
 Checks condition e and reports a warning message if it's false.
 

Typedefs

typedef void(* ErrorHandlerFunc_t) (int level, Bool_t abort, const char *location, const char *msg)
 
using ROOT::Internal::ErrorSystemMsgHandlerFunc_t = std::function< const char *()>
 Retrieves the error string associated with the last system error.
 

Functions

void AbstractMethod (const char *method)
 This function can be used in abstract base classes in case one does not want to make the class a "real" (in C++ sense) ABC.
 
void Break (const char *location, const char *msgfmt,...)
 Use this function in case an error occurred.
 
void DefaultErrorHandler (int level, Bool_t abort, const char *location, const char *msg)
 The default error handler function.
 
void Error (const char *location, const char *msgfmt,...)
 Use this function in case an error occurred.
 
void ErrorHandler (int level, const char *location, const char *fmt, std::va_list va)
 General error handler function. It calls the user set error handler.
 
void Fatal (const char *location, const char *msgfmt,...)
 Use this function in case of a fatal error. It will abort the program.
 
ErrorHandlerFunc_t GetErrorHandler ()
 Returns the current error handler function.
 
ErrorSystemMsgHandlerFunc_t ROOT::Internal::GetErrorSystemMsgHandler ()
 
void Info (const char *location, const char *msgfmt,...)
 Use this function for informational messages.
 
void MayNotUse (const char *method)
 This function can be used in classes that should override a certain function, but in the inherited class the function makes no sense.
 
void ROOT::Internal::MinimalErrorHandler (Int_t level, Bool_t abort_bool, const char *location, const char *msg)
 A very simple error handler that is usually replaced by the TROOT default error handler.
 
void Obsolete (const char *function, const char *asOfVers, const char *removedFromVers)
 Use this function to declare a function obsolete.
 
ErrorHandlerFunc_t SetErrorHandler (ErrorHandlerFunc_t newhandler)
 Set an errorhandler function. Returns the old handler.
 
ErrorSystemMsgHandlerFunc_t ROOT::Internal::SetErrorSystemMsgHandler (ErrorSystemMsgHandlerFunc_t h)
 Returns the previous system error message handler.
 
void SysError (const char *location, const char *msgfmt,...)
 Use this function in case a system (OS or GUI) related error occurred.
 
void Warning (const char *location, const char *msgfmt,...)
 Use this function in warning situations.
 

Variables

Int_t gErrorAbortLevel
 
Int_t gErrorIgnoreLevel
 Error handling routines.
 
Bool_t gPrintViaErrorHandler
 
const char * kAssertMsg
 
constexpr Int_t kBreak = 4000
 
const char * kCheckMsg
 
constexpr Int_t kError = 3000
 
constexpr Int_t kFatal = 6000
 
constexpr Int_t kInfo = 1000
 
constexpr Int_t kPrint = 0
 
constexpr Int_t kSysError = 5000
 
constexpr Int_t kUnset = -1
 
constexpr Int_t kWarning = 2000
 

Macro Definition Documentation

◆ R__ASSERT

#define R__ASSERT (   e)
Value:
do { \
if (R__unlikely(!(e))) \
::Fatal("", kAssertMsg, _QUOTE_(e), __LINE__, __FILE__); \
} while (false)
#define _QUOTE_(name)
Definition RConfig.hxx:446
#define R__unlikely(expr)
Definition RConfig.hxx:586
#define e(i)
Definition RSha256.hxx:103
const char * kAssertMsg
Definition TError.cxx:35

Checks condition e and reports a fatal error if it's false.

Warning
  • this check is NOT stripped in release mode, so it should not be used for hot paths. For those cases, prefer a regular assert();
  • depending on gErrorIgnoreLevel, this might not terminate the program,
See also
Fatal.

Definition at line 125 of file TError.h.

◆ R__CHECK

#define R__CHECK (   e)
Value:
do { \
if (R__unlikely(!(e))) \
::Warning("", kCheckMsg, _QUOTE_(e), __LINE__, __FILE__); \
} while (false)
const char * kCheckMsg
Definition TError.cxx:36

Checks condition e and reports a warning message if it's false.

Warning
this check is NOT stripped in release mode, so it should not be used for hot paths.

Definition at line 134 of file TError.h.

Typedef Documentation

◆ ErrorHandlerFunc_t

typedef void(* ErrorHandlerFunc_t) (int level, Bool_t abort, const char *location, const char *msg)

Definition at line 71 of file TError.h.

Function Documentation

◆ AbstractMethod()

void AbstractMethod ( const char *  method)

This function can be used in abstract base classes in case one does not want to make the class a "real" (in C++ sense) ABC.

If this function is called it will warn the user that the function should have been overridden.

Definition at line 159 of file TError.cxx.

◆ Break()

void Break ( const char *  location,
const char *  msgfmt,
  ... 
)

Use this function in case an error occurred.

Definition at line 207 of file TError.cxx.

◆ DefaultErrorHandler()

void DefaultErrorHandler ( Int_t  level,
Bool_t  abort_bool,
const char *  location,
const char *  msg 
)

The default error handler function.

It prints the message on stderr and if abort is set it aborts the application. Replaces the minimal error handler of TError.h as part of the gROOT construction. TError's minimal handler is put back in place during the gROOT destruction.

Note
abort() is only called if abort_bool is true and level < gErrorIgnoreLevel

Definition at line 102 of file TErrorDefaultHandler.cxx.

◆ Error()

void Error ( const char *  location,
const char *  msgfmt,
  ... 
)

Use this function in case an error occurred.

Definition at line 185 of file TError.cxx.

◆ ErrorHandler()

void ErrorHandler ( int  level,
const char *  location,
const char *  fmt,
std::va_list  va 
)

General error handler function. It calls the user set error handler.

Definition at line 109 of file TError.cxx.

◆ Fatal()

void Fatal ( const char *  location,
const char *  fmt,
  ... 
)

Use this function in case of a fatal error. It will abort the program.

Warning
Fatal() will not abort the program if gErrorIgnoreLevel > kFatal
  • but for all reasonable settings it will abort.

Definition at line 244 of file TError.cxx.

◆ GetErrorHandler()

ErrorHandlerFunc_t GetErrorHandler ( )

Returns the current error handler function.

Definition at line 100 of file TError.cxx.

◆ Info()

void Info ( const char *  location,
const char *  msgfmt,
  ... 
)

Use this function for informational messages.

Definition at line 218 of file TError.cxx.

◆ MayNotUse()

void MayNotUse ( const char *  method)

This function can be used in classes that should override a certain function, but in the inherited class the function makes no sense.

Definition at line 168 of file TError.cxx.

◆ Obsolete()

void Obsolete ( const char *  function,
const char *  asOfVers,
const char *  removedFromVers 
)

Use this function to declare a function obsolete.

Specify as of which version the method is obsolete and as from which version it will be removed.

Definition at line 177 of file TError.cxx.

◆ SetErrorHandler()

ErrorHandlerFunc_t SetErrorHandler ( ErrorHandlerFunc_t  newhandler)

Set an errorhandler function. Returns the old handler.

Definition at line 90 of file TError.cxx.

◆ SysError()

void SysError ( const char *  location,
const char *  msgfmt,
  ... 
)

Use this function in case a system (OS or GUI) related error occurred.

Definition at line 196 of file TError.cxx.

◆ Warning()

void Warning ( const char *  location,
const char *  msgfmt,
  ... 
)

Use this function in warning situations.

Definition at line 229 of file TError.cxx.

Variable Documentation

◆ gErrorAbortLevel

Int_t gErrorAbortLevel
extern

Definition at line 32 of file TError.cxx.

◆ gErrorIgnoreLevel

Int_t gErrorIgnoreLevel
extern

Error handling routines.

This file defines a number of global error handling routines: Warning(), Error(), SysError() and Fatal(). They all take a location string (where the error happened) and a printf style format string plus vararg's. In the end these functions call an errorhandler function. Initially the MinimalErrorHandler, which is supposed to be replaced by the proper DefaultErrorHandler()

Definition at line 31 of file TError.cxx.

◆ gPrintViaErrorHandler

Bool_t gPrintViaErrorHandler
extern

Definition at line 33 of file TError.cxx.

◆ kAssertMsg

const char* kAssertMsg
extern

Definition at line 35 of file TError.cxx.

◆ kBreak

constexpr Int_t kBreak = 4000
constexpr

Definition at line 48 of file TError.h.

◆ kCheckMsg

const char* kCheckMsg
extern

Definition at line 36 of file TError.cxx.

◆ kError

constexpr Int_t kError = 3000
constexpr

Definition at line 47 of file TError.h.

◆ kFatal

constexpr Int_t kFatal = 6000
constexpr

Definition at line 50 of file TError.h.

◆ kInfo

constexpr Int_t kInfo = 1000
constexpr

Definition at line 45 of file TError.h.

◆ kPrint

constexpr Int_t kPrint = 0
constexpr

Definition at line 44 of file TError.h.

◆ kSysError

constexpr Int_t kSysError = 5000
constexpr

Definition at line 49 of file TError.h.

◆ kUnset

constexpr Int_t kUnset = -1
constexpr

Definition at line 43 of file TError.h.

◆ kWarning

constexpr Int_t kWarning = 2000
constexpr

Definition at line 46 of file TError.h.