www.pudn.com > PtOpenGuiSourceCode.zip > error.h
/*
ImageMagick Exception Methods.
*/
#ifndef _MAGICK_ERROR_H
#define _MAGICK_ERROR_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
/*
Exception define definitions.
*/
#if defined(macintosh)
#define ExceptionInfo MagickExceptionInfo
#endif
#define ThrowBinaryException(code,reason,description) \
{ \
if (image != (Image *) NULL) \
ThrowException(&image->exception,code,reason,description); \
return(False); \
}
#define ThrowImageException(code,reason,description) \
{ \
ThrowException(exception,code,reason,description); \
return((Image *) NULL); \
}
#define ThrowReaderException(code,reason,image) \
{ \
if ((image) == (Image *) NULL) \
ThrowException(exception,code,reason,(char *) NULL); \
else \
{ \
ThrowException(exception,code,reason,(image)->filename); \
if (image->blob->type != UndefinedStream) \
CloseBlob(image); \
DestroyImageList(image); \
} \
return((Image *) NULL); \
}
#define ThrowWriterException(code,reason,image) \
{ \
assert(image != (Image *) NULL); \
ThrowException(&(image)->exception,code,reason,(image)->filename); \
if (image_info->adjoin) \
while ((image)->previous != (Image *) NULL) \
(image)=(image)->previous; \
if (image->blob->type != UndefinedStream) \
CloseBlob(image); \
return(False); \
}
/*
Enum declarations.
*/
typedef enum
{
UndefinedException,
WarningException = 300,
ResourceLimitWarning = 300,
TypeWarning = 305,
OptionWarning = 310,
DelegateWarning = 315,
MissingDelegateWarning = 320,
CorruptImageWarning = 325,
FileOpenWarning = 330,
BlobWarning = 335,
StreamWarning = 340,
CacheWarning = 345,
CoderWarning = 350,
ModuleWarning = 355,
DrawWarning = 360,
ImageWarning = 365,
XServerWarning = 380,
MonitorWarning = 385,
RegistryWarning = 390,
ConfigureWarning = 395,
ErrorException = 400,
ResourceLimitError = 400,
TypeError = 405,
OptionError = 410,
DelegateError = 415,
MissingDelegateError = 420,
CorruptImageError = 425,
FileOpenError = 430,
BlobError = 435,
StreamError = 440,
CacheError = 445,
CoderError = 450,
ModuleError = 455,
DrawError = 460,
ImageError = 465,
XServerError = 480,
MonitorError = 485,
RegistryError = 490,
ConfigureError = 495,
FatalErrorException = 700,
ResourceLimitFatalError = 700,
TypeFatalError = 705,
OptionFatalError = 710,
DelegateFatalError = 715,
MissingDelegateFatalError = 720,
CorruptImageFatalError = 725,
FileOpenFatalError = 730,
BlobFatalError = 735,
StreamFatalError = 740,
CacheFatalError = 745,
CoderFatalError = 750,
ModuleFatalError = 755,
DrawFatalError = 760,
ImageFatalError = 765,
XServerFatalError = 780,
MonitorFatalError = 785,
RegistryFatalError = 790,
ConfigureFatalError = 795
} ExceptionType;
/*
Typedef declarations.
*/
typedef struct _ExceptionInfo
{
ExceptionType
severity;
int
error_number;
char
*reason,
*description;
unsigned long
signature;
} ExceptionInfo;
/*
Exception typedef declarations.
*/
typedef void
(*ErrorHandler)(const ExceptionType,const char *,const char *);
typedef void
(*FatalErrorHandler)(const ExceptionType,const char *,const char *);
typedef void
(*WarningHandler)(const ExceptionType,const char *,const char *);
/*
Exception declarations.
*/
extern MagickExport const char
*GetLocaleExceptionMessage(const ExceptionType,const char *),
*GetLocaleMessage(const char *);
extern MagickExport ErrorHandler
SetErrorHandler(ErrorHandler);
extern MagickExport FatalErrorHandler
SetFatalErrorHandler(FatalErrorHandler);
extern MagickExport void
CatchException(const ExceptionInfo *),
DestroyExceptionInfo(ExceptionInfo *),
GetExceptionInfo(ExceptionInfo *),
MagickError(const ExceptionType,const char *,const char *),
MagickFatalError(const ExceptionType,const char *,const char *),
MagickWarning(const ExceptionType,const char *,const char *),
SetExceptionInfo(ExceptionInfo *,ExceptionType),
ThrowException(ExceptionInfo *,const ExceptionType,const char *,const char *);
extern MagickExport WarningHandler
SetWarningHandler(WarningHandler);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif