# Exception

## AcquireExceptionInfo

AcquireExceptionInfo() allocates the ExceptionInfo structure.

The format of the AcquireExceptionInfo method is:

    ExceptionInfo *AcquireExceptionInfo(void)

## ClearMagickException

ClearMagickException() clears any exception that may not have been caught yet.

The format of the ClearMagickException method is:

    ClearMagickException(ExceptionInfo *exception)

A description of each parameter follows:

exception
  the exception info.

## 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.

## CloneExceptionInfo

CloneExceptionInfo() clones the ExceptionInfo structure.

The format of the CloneExceptionInfo method is:

    ExceptionInfo *CloneException(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:

    ExceptionInfo *DestroyExceptionInfo(ExceptionInfo *exception)

A description of each parameter follows:

exception
  the exception info.

## GetExceptionMessage

GetExceptionMessage() returns the error message defined by the specified error code.

The format of the GetExceptionMessage method is:

    char *GetExceptionMessage(const int error)

A description of each parameter follows:

error
  the error code.

## 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.

## InitializeExceptionInfo

InitializeExceptionInfo() initializes an exception to default values.

The format of the InitializeExceptionInfo method is:

    InitializeExceptionInfo(ExceptionInfo *exception)

A description of each parameter follows:

exception
  the 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

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.

## 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,
      const ExceptionType severity,const char *reason,
      const char *description)

A description of each parameter follows:

exception
  the exception info.
severity
  the severity of the exception.
reason
  the reason for the exception.
description
  the exception description.