TrinityCore
Errors.h File Reference
#include "Define.h"
#include <string>
+ Include dependency graph for Errors.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Trinity
 

Macros

#define ASSERT_BEGIN   __pragma(warning(push)) __pragma(warning(disable: 4127))
 
#define ASSERT_END   __pragma(warning(pop))
 
#define EXCEPTION_ASSERTION_FAILURE   0xC0000420L
 
#define WPAssert(cond, ...)   ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Assert(__FILE__, __LINE__, __FUNCTION__, GetDebugInfo(), #cond, ##__VA_ARGS__); } while(0) ASSERT_END
 
#define WPAssert_NODEBUGINFO(cond, ...)   ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Assert(__FILE__, __LINE__, __FUNCTION__, "", #cond, ##__VA_ARGS__); } while(0) ASSERT_END
 
#define WPFatal(cond, ...)   ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Fatal(__FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); } while(0) ASSERT_END
 
#define WPError(cond, msg)   ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Error(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
 
#define WPWarning(cond, msg)   ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Warning(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
 
#define WPAbort()   ASSERT_BEGIN do { Trinity::Abort(__FILE__, __LINE__, __FUNCTION__); } while(0) ASSERT_END
 
#define WPAbort_MSG(msg, ...)   ASSERT_BEGIN do { Trinity::Abort(__FILE__, __LINE__, __FUNCTION__, (msg), ##__VA_ARGS__); } while(0) ASSERT_END
 
#define ASSERT   WPAssert
 
#define ASSERT_NODEBUGINFO   WPAssert_NODEBUGINFO
 
#define ASSERT_WITH_SIDE_EFFECTS   WPAssert
 
#define ABORT   WPAbort
 
#define ABORT_MSG   WPAbort_MSG
 
#define ASSERT_NOTNULL(pointer)   ASSERT_NOTNULL_IMPL(pointer, #pointer)
 

Functions

void Trinity::Assert (char const *file, int line, char const *function, std::string debugInfo, char const *message)
 
void Trinity::Assert (char const *file, int line, char const *function, std::string debugInfo, char const *message, char const *format,...)
 
void Trinity::Fatal (char const *file, int line, char const *function, char const *message,...)
 
void Trinity::Error (char const *file, int line, char const *function, char const *message)
 
void Trinity::Abort (char const *file, int line, char const *function)
 
void Trinity::Abort (char const *file, int line, char const *function, char const *message,...)
 
void Trinity::Warning (char const *file, int line, char const *function, char const *message)
 
void Trinity::AbortHandler (int sigval)
 
TC_COMMON_API std::string GetDebugInfo ()
 
template<typename T >
T * ASSERT_NOTNULL_IMPL (T *pointer, char const *expr)
 

Macro Definition Documentation

◆ ABORT

#define ABORT   WPAbort

Definition at line 74 of file Errors.h.

◆ ABORT_MSG

#define ABORT_MSG   WPAbort_MSG

Definition at line 75 of file Errors.h.

◆ ASSERT

#define ASSERT   WPAssert

Definition at line 68 of file Errors.h.

◆ ASSERT_BEGIN

#define ASSERT_BEGIN   __pragma(warning(push)) __pragma(warning(disable: 4127))

Definition at line 45 of file Errors.h.

◆ ASSERT_END

#define ASSERT_END   __pragma(warning(pop))

Definition at line 46 of file Errors.h.

◆ ASSERT_NODEBUGINFO

#define ASSERT_NODEBUGINFO   WPAssert_NODEBUGINFO

Definition at line 69 of file Errors.h.

◆ ASSERT_NOTNULL

#define ASSERT_NOTNULL (   pointer)    ASSERT_NOTNULL_IMPL(pointer, #pointer)

Definition at line 84 of file Errors.h.

◆ ASSERT_WITH_SIDE_EFFECTS

#define ASSERT_WITH_SIDE_EFFECTS   WPAssert

Definition at line 72 of file Errors.h.

◆ EXCEPTION_ASSERTION_FAILURE

#define EXCEPTION_ASSERTION_FAILURE   0xC0000420L

Definition at line 53 of file Errors.h.

◆ WPAbort

#define WPAbort ( )    ASSERT_BEGIN do { Trinity::Abort(__FILE__, __LINE__, __FUNCTION__); } while(0) ASSERT_END

Definition at line 61 of file Errors.h.

◆ WPAbort_MSG

#define WPAbort_MSG (   msg,
  ... 
)    ASSERT_BEGIN do { Trinity::Abort(__FILE__, __LINE__, __FUNCTION__, (msg), ##__VA_ARGS__); } while(0) ASSERT_END

Definition at line 62 of file Errors.h.

◆ WPAssert

#define WPAssert (   cond,
  ... 
)    ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Assert(__FILE__, __LINE__, __FUNCTION__, GetDebugInfo(), #cond, ##__VA_ARGS__); } while(0) ASSERT_END

Definition at line 56 of file Errors.h.

◆ WPAssert_NODEBUGINFO

#define WPAssert_NODEBUGINFO (   cond,
  ... 
)    ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Assert(__FILE__, __LINE__, __FUNCTION__, "", #cond, ##__VA_ARGS__); } while(0) ASSERT_END

Definition at line 57 of file Errors.h.

◆ WPError

#define WPError (   cond,
  msg 
)    ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Error(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END

Definition at line 59 of file Errors.h.

◆ WPFatal

#define WPFatal (   cond,
  ... 
)    ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Fatal(__FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); } while(0) ASSERT_END

Definition at line 58 of file Errors.h.

◆ WPWarning

#define WPWarning (   cond,
  msg 
)    ASSERT_BEGIN do { if (!(cond)) [[unlikely]] Trinity::Warning(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END

Definition at line 60 of file Errors.h.

Function Documentation

◆ ASSERT_NOTNULL_IMPL()

template<typename T >
T * ASSERT_NOTNULL_IMPL ( T *  pointer,
char const *  expr 
)
inline

Definition at line 78 of file Errors.h.

◆ GetDebugInfo()

TC_COMMON_API std::string GetDebugInfo ( )

Definition at line 157 of file Errors.cpp.

+ Here is the caller graph for this function: