---
name: "register_assert_handler"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/register_assert_handler"
---

# register\_assert\_handler(3alleg)

Registers a custom handler for assert failures. Allegro game programming library.

## NAME

register\_assert\_handler - Registers a custom handler for assert failures. Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**void register\_assert\_handler(int (\*handler)(const char \*msg));**

## DESCRIPTION

Supplies a custom handler function for dealing with assert failures. Your  callback will be passed a formatted error message in ASCII, and should  return non-zero if it has processed the error, or zero to continue with  the default actions. You could use this to ignore assert failures, or to  display the error messages on a graphics mode screen without aborting the  program. You can call this function even when Allegro has not been initialised. Example:

```
   int show_but_continue(const char *text)
   {
       alert("Uh oh...", "Fasten your seat belts.", text,
             "&Go on!", NULL, 'g', 0);
       return 1;
   }
   ...
      register_assert(show_but_continue);
      ASSERT(0); /* This won't crash the program now. */
```

## SEE ALSO

[**al\_assert**(3alleg)](/al_assert/3alleg.md), [**ASSERT**(3alleg)](/ASSERT/3alleg.md), [**register\_trace\_handler**(3alleg)](/register_trace_handler/3alleg.md)
