- NAME
- SYNOPSIS
- FUNCTION DESCRIPTIONS

- CatchException
- DestroyExceptionInfo
- GetExceptionInfo
- GetLocaleExceptionMessage
- InheritException
- MagickError
- MagickWarning
- SetErrorHandler
- SetExceptionInfo
- SetFatalErrorHandler
- SetWarningHandler
- ThrowException
- ThrowMagickException

# NAME

exception - Dealing with Exceptions

# SYNOPSIS

CatchException( ExceptionInfo *exception );

void DestroyExceptionInfo( ExceptionInfo *exception );

GetExceptionInfo( ExceptionInfo *exception );

const char * GetLocaleExceptionMessage( const ExceptionType severity, const char *tag );

InheritException( ExceptionInfo *exception, const ExceptionInfo *relative );

void MagickError( const ExceptionType error, const char *reason, const char *description );

void MagickWarning( const ExceptionType warning, const char *reason, const char *description );

ErrorHandler SetErrorHandler( ErrorHandler handler );

MagickBooleanType SetExceptionInfo( ExceptionInfo *exception, ExceptionType severity );

ErrorHandler SetWarningHandler( ErrorHandler handler );

MagickBooleanType ThrowException( ExceptionInfo *exception_info, const ExceptionType severity, const char *reason, const char *description );

# FUNCTION DESCRIPTIONS

## CatchException

> CatchException() returns if no exceptions is found otherwise it reports the exception as a warning, error, or fatal depending on the severity.

The format of the CatchException method is:

> CatchException ( ExceptionInfo *exception );

A description of each parameter follows:

exception:
  The exception info.

## DestroyExceptionInfo

> DestroyExceptionInfo() deallocates memory associated with an exception.

The format of the DestroyExceptionInfo method is:

> void DestroyExceptionInfo ( ExceptionInfo *exception );

A description of each parameter follows:

exception:
  The exception info.

## GetExceptionInfo

> GetExceptionInfo() initializes an exception to default values.

The format of the GetExceptionInfo method is:

> GetExceptionInfo ( ExceptionInfo *exception );

A description of each parameter follows:

exception:
  The exception info.

## GetLocaleExceptionMessage

> GetLocaleExceptionMessage() converts a enumerated exception severity and tag to a message in the current locale.

The format of the GetLocaleExceptionMessage method is:

> const char *GetLocaleExceptionMessage ( const ExceptionType severity, const char *tag );

A description of each parameter follows:

severity:
  the severity of the exception.

tag:
  the message tag.

## InheritException

> InheritException() inherits an exception from a related exception.

The format of the InheritException method is:

> InheritException ( ExceptionInfo *exception, const ExceptionInfo *relative );

A description of each parameter follows:

exception:
  The exception info.

relative:
  The related exception info.

## MagickError

> MagickError() calls the exception handler methods with an error reason.

The format of the MagickError method is:

> void MagickError ( const ExceptionType error, const char *reason, const char *description );

A description of each parameter follows:

exception:
  Specifies the numeric error category.

reason:
  Specifies the reason to display before terminating the program.

description:
  Specifies any description to the reason.

`MagickFatalError()` calls the fatal exception handler methods with an error reason.

The format of the MagickError method is:

        void MagickFatalError(const ExceptionType error,const char *reason,
          const char *description)

A description of each parameter follows:

exception:
  Specifies the numeric error category.

reason:
  Specifies the reason to display before terminating the program.

description:
  Specifies any description to the reason.

## MagickWarning

> MagickWarning() calls the warning handler methods with a warning reason.

The format of the MagickWarning method is:

> void MagickWarning ( const ExceptionType warning, const char *reason, const char *description );

A description of each parameter follows:

warning:
  The warning severity.

reason:
  Define the reason for the warning.

description:
  Describe the warning.

## SetErrorHandler

> SetErrorHandler() sets the exception handler to the specified method and returns the previous exception handler.

The format of the SetErrorHandler method is:

> ErrorHandler SetErrorHandler ( ErrorHandler handler );

A description of each parameter follows:

handler:
  The method to handle errors.

## SetExceptionInfo

> SetExceptionInfo() set the exception severity.

The format of the SetExceptionInfo method is:

> MagickBooleanType SetExceptionInfo ( ExceptionInfo *exception, ExceptionType severity );

A description of each parameter follows:

exception:
  The exception info.

severity:
  The exception severity.

## SetFatalErrorHandler

> SetFatalErrorHandler() sets the fatal exception handler to the specified method and returns the previous fatal exception handler.

The format of the SetErrorHandler method is:

        ErrorHandler SetErrorHandler(ErrorHandler handler)

A description of each parameter follows:

handler:
  The method to handle errors.

## SetWarningHandler

> SetWarningHandler() sets the warning handler to the specified method and returns the previous warning handler.

The format of the SetWarningHandler method is:

> ErrorHandler SetWarningHandler ( ErrorHandler handler );

A description of each parameter follows:

handler:
  The method to handle warnings.

## ThrowException

> ThrowException() throws an exception with the specified severity code, reason, and optional description.

The format of the ThrowException method is:

> MagickBooleanType ThrowException ( ExceptionInfo *exception_info, const ExceptionType severity, const char *reason, const char *description );

A description of each parameter follows:

exception_info:
  The exception info.

severity:
  The severity of the exception.

tag:
  The message tag.

description:
  The exception description.

## ThrowMagickException

ThrowMagickException logs an exception as determined by the log configuration file. If an error occurs, MagickFalse is returned otherwise MagickTrue.

The format of the ThrowMagickException method is:

        MagickBooleanType ThrowFileException(ExceptionInfo *exception,
          const char *module,const char *function,const unsigned long line,
          const ExceptionType severity,const char *tag,const char *format,...)

A description of each parameter follows:

exception_info:
  The exception info.

filename:
  The source module filename.

function:
  The function name.

line:
  The line number of the source module.

severity:
  Specifies the numeric error category.

tag:
  The locale tag.

format:
  The output format.

"Image manipulation software that works like magick"