| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- /*
- Copyright 1999 ImageMagick Studio LLC, a non-profit organization
- dedicated to making software imaging solutions freely available.
-
- You may not use this file except in compliance with the License. You may
- obtain a copy of the License at
-
- https://imagemagick.org/script/license.php
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- MagickCore exception methods.
- */
- #ifndef MAGICKCORE_EXCEPTION_H
- #define MAGICKCORE_EXCEPTION_H
- #include <stdarg.h>
- #include "magick/semaphore.h"
- #if defined(__cplusplus) || defined(c_plusplus)
- extern "C" {
- #endif
- 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,
- FilterWarning = 352,
- ModuleWarning = 355,
- DrawWarning = 360,
- ImageWarning = 365,
- WandWarning = 370,
- RandomWarning = 375,
- XServerWarning = 380,
- MonitorWarning = 385,
- RegistryWarning = 390,
- ConfigureWarning = 395,
- PolicyWarning = 399,
- ErrorException = 400,
- ResourceLimitError = 400,
- TypeError = 405,
- OptionError = 410,
- DelegateError = 415,
- MissingDelegateError = 420,
- CorruptImageError = 425,
- FileOpenError = 430,
- BlobError = 435,
- StreamError = 440,
- CacheError = 445,
- CoderError = 450,
- FilterError = 452,
- ModuleError = 455,
- DrawError = 460,
- ImageError = 465,
- WandError = 470,
- RandomError = 475,
- XServerError = 480,
- MonitorError = 485,
- RegistryError = 490,
- ConfigureError = 495,
- PolicyError = 499,
- FatalErrorException = 700,
- ResourceLimitFatalError = 700,
- TypeFatalError = 705,
- OptionFatalError = 710,
- DelegateFatalError = 715,
- MissingDelegateFatalError = 720,
- CorruptImageFatalError = 725,
- FileOpenFatalError = 730,
- BlobFatalError = 735,
- StreamFatalError = 740,
- CacheFatalError = 745,
- CoderFatalError = 750,
- FilterFatalError = 752,
- ModuleFatalError = 755,
- DrawFatalError = 760,
- ImageFatalError = 765,
- WandFatalError = 770,
- RandomFatalError = 775,
- XServerFatalError = 780,
- MonitorFatalError = 785,
- RegistryFatalError = 790,
- ConfigureFatalError = 795,
- PolicyFatalError = 799
- } ExceptionType;
- struct _ExceptionInfo
- {
- ExceptionType
- severity;
- int
- error_number;
- char
- *reason,
- *description;
- void
- *exceptions;
- MagickBooleanType
- relinquish;
- SemaphoreInfo
- *semaphore;
- size_t
- signature;
- };
- typedef void
- (*ErrorHandler)(const ExceptionType,const char *,const char *);
- typedef void
- (*FatalErrorHandler)(const ExceptionType,const char *,const char *)
- magick_attribute((__noreturn__));
- typedef void
- (*WarningHandler)(const ExceptionType,const char *,const char *);
- extern MagickExport char
- *GetExceptionMessage(const int);
- extern MagickExport const char
- *GetLocaleExceptionMessage(const ExceptionType,const char *);
- extern MagickExport ErrorHandler
- SetErrorHandler(ErrorHandler);
- extern MagickExport ExceptionInfo
- *AcquireExceptionInfo(void),
- *CloneExceptionInfo(ExceptionInfo *),
- *DestroyExceptionInfo(ExceptionInfo *);
- extern MagickExport FatalErrorHandler
- SetFatalErrorHandler(FatalErrorHandler);
- extern MagickExport MagickBooleanType
- ThrowException(ExceptionInfo *,const ExceptionType,const char *,
- const char *),
- ThrowMagickException(ExceptionInfo *,const char *,const char *,const size_t,
- const ExceptionType,const char *,const char *,...)
- magick_attribute((__format__ (__printf__,7,8))),
- ThrowMagickExceptionList(ExceptionInfo *,const char *,const char *,
- const size_t,const ExceptionType,const char *,const char *,va_list)
- magick_attribute((__format__ (__printf__,7,0)));
- extern MagickExport void
- CatchException(ExceptionInfo *),
- ClearMagickException(ExceptionInfo *),
- InheritException(ExceptionInfo *,const ExceptionInfo *),
- MagickError(const ExceptionType,const char *,const char *),
- MagickFatalError(const ExceptionType,const char *,const char *)
- magick_attribute((__noreturn__)),
- MagickWarning(const ExceptionType,const char *,const char *);
- extern MagickExport WarningHandler
- SetWarningHandler(WarningHandler);
- #if defined(__cplusplus) || defined(c_plusplus)
- }
- #endif
- #endif
|