class Poco::Bugcheck

Overview

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. Moreā€¦

#include <Bugcheck.h>

class Bugcheck
{
public:
    // methods

    static
    void
    assertion(
        const char* cond,
        const char* file,
        int line,
        const char* text = 0
        );

    static
    void
    nullPointer(
        const char* ptr,
        const char* file,
        int line
        );

    static
    void
    bugcheck(
        const char* file,
        int line
        );

    static
    void
    bugcheck(
        const char* msg,
        const char* file,
        int line
        );

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

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

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

protected:
    // methods

    static
    std::string
    what(
        const char* msg,
        const char* file,
        int line,
        const char* text = 0
        );
};

Detailed Documentation

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.

Methods

static
void
assertion(
    const char* cond,
    const char* file,
    int line,
    const char* text = 0
    )

An assertion failed.

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

static
void
nullPointer(
    const char* ptr,
    const char* file,
    int line
    )

An null pointer was encountered.

Break into the debugger, if possible, then throw an NullPointerException.

static
void
bugcheck(
    const char* file,
    int line
    )

An internal error was encountered.

Break into the debugger, if possible, then throw an BugcheckException.

static
void
bugcheck(
    const char* msg,
    const char* file,
    int line
    )

An internal error was encountered.

Break into the debugger, if possible, then throw an BugcheckException.

static
void
unexpected(
    const char* file,
    int 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.

static
void
debugger(
    const char* file,
    int line
    )

An internal error was encountered.

Break into the debugger, if possible.

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

An internal error was encountered.

Break into the debugger, if possible.