# Poco

# class Bugcheck

Library: Foundation
Package: Core
Header: Poco/Bugcheck.h

## Description

This class provides some static methods that are used by the poco_assert_dbg(), poco_assert(), poco_check_ptr(), poco_bugcheck() and poco_unexpected() macros. You should not invoke these methods directly. Use the macros instead, as they automatically provide useful context information.

## Member Summary

Member Functions: assertion, bugcheck, debugger, nullPointer, unexpected, what

## Member Functions

### assertion

[[noreturn]]
static void assertion(
const char * cond,
const char * file,
LineNumber line,
const char * text = nullptr
);

An assertion failed. Break into the debugger, if possible, then throw an AssertionViolationException.

### bugcheck

[[noreturn]]
static void bugcheck(
const char * file,
LineNumber line
);

An internal error was encountered. Break into the debugger, if possible, then throw an BugcheckException.

### bugcheck

[[noreturn]]
static void bugcheck(
const char * msg,
const char * file,
LineNumber line
);

An internal error was encountered. Break into the debugger, if possible, then throw an BugcheckException.

### debugger

static void debugger(
const char * file,
LineNumber line
);

An internal error was encountered. Break into the debugger, if possible.

### debugger

static void debugger(
const char * msg,
const char * file,
LineNumber line
);

An internal error was encountered. Break into the debugger, if possible.

### nullPointer

[[noreturn]]
static void nullPointer(
const char * ptr,
const char * file,
LineNumber line
);

An null pointer was encountered. Break into the debugger, if possible, then throw an NullPointerException.

### unexpected

static void unexpected(
const char * file,
LineNumber line
);

An exception was caught in a destructor. Break into debugger, if possible and report exception. Must only be called from within a catch () block as it rethrows the exception to determine its class.

### what

static std::string what(
const char * msg,
const char * file,
LineNumber line,
const char * text = nullptr
);