MagickCore  6.9.11-59
Convert, Edit, Or Compose Bitmap Images
exception.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2021 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License. You may
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore exception methods.
17 */
18 #ifndef MAGICKCORE_EXCEPTION_H
19 #define MAGICKCORE_EXCEPTION_H
20 
21 #include <stdarg.h>
22 #include "magick/semaphore.h"
23 
24 #if defined(__cplusplus) || defined(c_plusplus)
25 extern "C" {
26 #endif
27 
28 typedef enum
29 {
33  TypeWarning = 305,
39  BlobWarning = 335,
41  CacheWarning = 345,
42  CoderWarning = 350,
45  DrawWarning = 360,
46  ImageWarning = 365,
47  WandWarning = 370,
56  TypeError = 405,
57  OptionError = 410,
62  BlobError = 435,
63  StreamError = 440,
64  CacheError = 445,
65  CoderError = 450,
66  FilterError = 452,
67  ModuleError = 455,
68  DrawError = 460,
69  ImageError = 465,
70  WandError = 470,
71  RandomError = 475,
72  XServerError = 480,
73  MonitorError = 485,
76  PolicyError = 499,
99  PolicyFatalError = 799
101 
103 {
106 
107  int
109 
110  char
113 
114  void
116 
119 
122 
123  size_t
125 };
126 
127 typedef void
128  (*ErrorHandler)(const ExceptionType,const char *,const char *);
129 
130 typedef void
131  (*FatalErrorHandler)(const ExceptionType,const char *,const char *);
132 
133 typedef void
134  (*WarningHandler)(const ExceptionType,const char *,const char *);
135 
136 extern MagickExport char
137  *GetExceptionMessage(const int);
138 
139 extern MagickExport const char
140  *GetLocaleExceptionMessage(const ExceptionType,const char *);
141 
144 
149 
152 
155  const char *),
156  ThrowMagickException(ExceptionInfo *,const char *,const char *,const size_t,
157  const ExceptionType,const char *,const char *,...)
158  magick_attribute((__format__ (__printf__,7,8))),
159  ThrowMagickExceptionList(ExceptionInfo *,const char *,const char *,
160  const size_t,const ExceptionType,const char *,const char *,va_list)
161  magick_attribute((__format__ (__printf__,7,0)));
162 
163 extern MagickExport void
167  MagickError(const ExceptionType,const char *,const char *),
168  MagickFatalError(const ExceptionType,const char *,const char *),
169  MagickWarning(const ExceptionType,const char *,const char *);
170 
173 
174 #if defined(__cplusplus) || defined(c_plusplus)
175 }
176 #endif
177 
178 #endif
FilterWarning
@ FilterWarning
Definition: exception.h:43
LockSemaphoreInfo
MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:293
MagickExport
#define MagickExport
Definition: method-attribute.h:80
_ExceptionInfo::semaphore
SemaphoreInfo * semaphore
Definition: exception.h:121
BlobError
@ BlobError
Definition: exception.h:62
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *, const char *, const char *, const size_t, const ExceptionType, const char *, const char *,...) magick_attribute((__format__(__printf__
DrawError
@ DrawError
Definition: exception.h:68
magick_unused
#define magick_unused(x)
Definition: method-attribute.h:105
MaxExceptionList
#define MaxExceptionList
Definition: exception.c:59
magick.h
MissingDelegateError
@ MissingDelegateError
Definition: exception.h:59
CoderFatalError
@ CoderFatalError
Definition: exception.h:88
TypeError
@ TypeError
Definition: exception.h:56
magick_unreferenced
#define magick_unreferenced(x)
Definition: method-attribute.h:106
PolicyError
@ PolicyError
Definition: exception.h:76
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
SetFatalErrorHandler
MagickExport FatalErrorHandler SetFatalErrorHandler(FatalErrorHandler handler)
Definition: exception.c:915
WandFatalError
@ WandFatalError
Definition: exception.h:93
CorruptImageWarning
@ CorruptImageWarning
Definition: exception.h:37
ClearMagickException
MagickExport MagickBooleanType MagickExport void ClearMagickException(ExceptionInfo *)
TailPath
@ TailPath
Definition: utility.h:31
MagickWarning
MagickExport MagickBooleanType MagickExport void MagickWarning(const ExceptionType, const char *, const char *)
Definition: exception.c:848
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
FormatLocaleString
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
Definition: locale.c:497
OptionWarning
@ OptionWarning
Definition: exception.h:34
ExceptionComponentGenesis
MagickPrivate MagickBooleanType ExceptionComponentGenesis(void)
Definition: exception.c:473
CorruptImageError
@ CorruptImageError
Definition: exception.h:60
DefaultWarningHandler
static void DefaultWarningHandler(const ExceptionType, const char *, const char *)
CatchException
MagickExport MagickBooleanType MagickExport void CatchException(ExceptionInfo *)
DefaultErrorHandler
static void DefaultErrorHandler(const ExceptionType, const char *, const char *)
WandWarning
@ WandWarning
Definition: exception.h:47
MissingDelegateFatalError
@ MissingDelegateFatalError
Definition: exception.h:82
XServerError
@ XServerError
Definition: exception.h:72
FileOpenWarning
@ FileOpenWarning
Definition: exception.h:38
CloneExceptionInfo
MagickExport ExceptionInfo * CloneExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:258
DestroyLinkedList
MagickExport LinkedListInfo * DestroyLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: hashmap.c:398
ModuleFatalError
@ ModuleFatalError
Definition: exception.h:90
ConfigureFatalError
@ ConfigureFatalError
Definition: exception.h:98
ResetLinkedListIterator
MagickExport void ResetLinkedListIterator(LinkedListInfo *list_info)
Definition: hashmap.c:1921
ResourceLimitWarning
@ ResourceLimitWarning
Definition: exception.h:32
RandomWarning
@ RandomWarning
Definition: exception.h:48
DestroyExceptionElement
static void * DestroyExceptionElement(void *exception)
Definition: exception.c:150
SetWarningHandler
MagickExport WarningHandler SetWarningHandler(WarningHandler handler)
Definition: exception.c:952
MonitorError
@ MonitorError
Definition: exception.h:73
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
WarningHandler
void(* WarningHandler)(const ExceptionType, const char *, const char *)
Definition: exception.h:134
utility.h
SetWarningHandler
MagickExport WarningHandler SetWarningHandler(WarningHandler)
Definition: exception.c:952
BlobFatalError
@ BlobFatalError
Definition: exception.h:85
OptionFatalError
@ OptionFatalError
Definition: exception.h:80
CacheError
@ CacheError
Definition: exception.h:64
FilterError
@ FilterError
Definition: exception.h:66
DelegateError
@ DelegateError
Definition: exception.h:58
string_.h
DestroyString
MagickExport char * DestroyString(char *string)
Definition: string.c:808
GetPathComponent
MagickExport void GetPathComponent(const char *path, PathType type, char *component)
Definition: utility.c:1218
_ExceptionInfo::exceptions
void * exceptions
Definition: exception.h:115
MagickTrue
@ MagickTrue
Definition: magick-type.h:205
semaphore.h
SetErrorHandler
MagickExport ErrorHandler SetErrorHandler(ErrorHandler)
Definition: exception.c:878
ClearExceptionInfo
MagickPrivate MagickBooleanType ClearExceptionInfo(ExceptionInfo *exception, MagickBooleanType relinquish)
Definition: exception.c:421
ExceptionSeverityToTag
static const char * ExceptionSeverityToTag(const ExceptionType severity)
Definition: exception.c:576
StreamWarning
@ StreamWarning
Definition: exception.h:40
CoderError
@ CoderError
Definition: exception.h:65
GetLocaleExceptionMessage
MagickExport const char * GetLocaleExceptionMessage(const ExceptionType, const char *)
Definition: exception.c:648
hashmap.h
InheritException
MagickExport MagickBooleanType MagickExport void InheritException(ExceptionInfo *, const ExceptionInfo *)
AcquireMagickMemory
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:552
ClearLinkedList
MagickExport void ClearLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: hashmap.c:204
FormatLocaleFile
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:402
SemaphoreInfo
Definition: semaphore.c:61
WarningException
@ WarningException
Definition: exception.h:31
DefaultFatalErrorHandler
static void DefaultFatalErrorHandler(const ExceptionType, const char *, const char *)
Definition: exception.c:342
ConcatenateMagickString
MagickExport size_t ConcatenateMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
Definition: string.c:425
ImageWarning
@ ImageWarning
Definition: exception.h:46
CacheFatalError
@ CacheFatalError
Definition: exception.h:87
MagickFatalError
MagickExport MagickBooleanType MagickExport void MagickFatalError(const ExceptionType, const char *, const char *)
_ExceptionInfo::severity
ExceptionType severity
Definition: exception.h:105
ExceptionComponentTerminus
MagickPrivate void ExceptionComponentTerminus(void)
Definition: exception.c:498
ErrorHandler
void(* ErrorHandler)(const ExceptionType, const char *, const char *)
Definition: exception.h:128
RegistryError
@ RegistryError
Definition: exception.h:74
ErrorException
@ ErrorException
Definition: exception.h:54
warning_handler
static WarningHandler warning_handler
Definition: exception.c:87
BlobWarning
@ BlobWarning
Definition: exception.h:39
SetErrorHandler
MagickExport ErrorHandler SetErrorHandler(ErrorHandler handler)
Definition: exception.c:878
TypeWarning
@ TypeWarning
Definition: exception.h:33
ImageError
@ ImageError
Definition: exception.h:69
RegistryWarning
@ RegistryWarning
Definition: exception.h:51
ModuleError
@ ModuleError
Definition: exception.h:67
LocaleCompare
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1435
DestroyExceptionInfo
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:448
_ExceptionInfo::description
char * description
Definition: exception.h:112
DrawWarning
@ DrawWarning
Definition: exception.h:45
_ExceptionInfo::relinquish
MagickBooleanType relinquish
Definition: exception.h:118
RandomFatalError
@ RandomFatalError
Definition: exception.h:94
OptionError
@ OptionError
Definition: exception.h:57
ConfigureWarning
@ ConfigureWarning
Definition: exception.h:52
CacheWarning
@ CacheWarning
Definition: exception.h:41
MagickWarning
MagickExport void MagickWarning(const ExceptionType warning, const char *reason, const char *description)
Definition: exception.c:848
_LinkedListInfo
Definition: hashmap.c:78
XServerWarning
@ XServerWarning
Definition: exception.h:49
DestroyExceptionInfo
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *)
Definition: exception.c:448
locale_.h
MagickPrivate
#define MagickPrivate
Definition: method-attribute.h:81
MagickFalse
@ MagickFalse
Definition: magick-type.h:204
FileOpenFatalError
@ FileOpenFatalError
Definition: exception.h:84
GetNumberOfElementsInLinkedList
MagickExport size_t GetNumberOfElementsInLinkedList(const LinkedListInfo *list_info)
Definition: hashmap.c:679
WandError
@ WandError
Definition: exception.h:70
DelegateFatalError
@ DelegateFatalError
Definition: exception.h:81
FilterFatalError
@ FilterFatalError
Definition: exception.h:89
GetExceptionMessage
MagickExport char * GetExceptionMessage(const int error)
Definition: exception.c:530
AppendValueToLinkedList
MagickExport MagickBooleanType AppendValueToLinkedList(LinkedListInfo *list_info, const void *value)
Definition: hashmap.c:150
AllocateSemaphoreInfo
MagickExport SemaphoreInfo * AllocateSemaphoreInfo(void)
Definition: semaphore.c:192
GetClientName
MagickExport const char * GetClientName(void)
Definition: client.c:65
MonitorFatalError
@ MonitorFatalError
Definition: exception.h:96
ExceptionType
ExceptionType
Definition: exception.h:29
CloneExceptionInfo
MagickExport ExceptionInfo * CloneExceptionInfo(ExceptionInfo *)
FileOpenError
@ FileOpenError
Definition: exception.h:61
GetLocaleExceptionMessage
MagickExport const char * GetLocaleExceptionMessage(const ExceptionType severity, const char *tag)
Definition: exception.c:648
ActivateSemaphoreInfo
MagickExport void ActivateSemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:98
SetFatalErrorHandler
MagickExport FatalErrorHandler SetFatalErrorHandler(FatalErrorHandler)
Definition: exception.c:915
ThrowException
MagickExport MagickBooleanType ThrowException(ExceptionInfo *, const ExceptionType, const char *, const char *)
MagickError
MagickExport MagickBooleanType MagickExport void MagickError(const ExceptionType, const char *, const char *)
RegistryFatalError
@ RegistryFatalError
Definition: exception.h:97
GetLocaleMessage
MagickExport const char * GetLocaleMessage(const char *tag)
Definition: locale.c:771
InitializeExceptionInfo
MagickPrivate void InitializeExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:740
MagickError
MagickExport void MagickError(const ExceptionType error, const char *reason, const char *description)
Definition: exception.c:778
ThrowMagickExceptionList
MagickExport MagickBooleanType ThrowMagickExceptionList(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format, va_list operands)
Definition: exception.c:1098
GetExceptionMessage
MagickExport char * GetExceptionMessage(const int)
Definition: exception.c:530
DestroySemaphoreInfo
MagickExport void DestroySemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:351
_ExceptionInfo::signature
size_t signature
Definition: exception.h:124
log.h
magick_attribute
MagickExport MagickBooleanType magick_attribute((deprecated))
ConstantString
MagickExport char * ConstantString(const char *source)
Definition: string.c:698
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:203
GetLastValueInLinkedList
MagickExport void * GetLastValueInLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:447
GetNextValueInLinkedList
MagickExport void * GetNextValueInLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:606
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1162
FatalErrorException
@ FatalErrorException
Definition: exception.h:77
ExceptionEvent
@ ExceptionEvent
Definition: log.h:46
_ExceptionInfo
Definition: exception.h:103
CorruptImageFatalError
@ CorruptImageFatalError
Definition: exception.h:83
studio.h
XServerFatalError
@ XServerFatalError
Definition: exception.h:95
exception_semaphore
static SemaphoreInfo * exception_semaphore
Definition: exception.c:93
ClearMagickException
MagickExport void ClearMagickException(ExceptionInfo *exception)
Definition: exception.c:164
AcquireExceptionInfo
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
MonitorWarning
@ MonitorWarning
Definition: exception.h:50
PolicyWarning
@ PolicyWarning
Definition: exception.h:53
RandomError
@ RandomError
Definition: exception.h:71
DelegateWarning
@ DelegateWarning
Definition: exception.h:35
memory_.h
CoderWarning
@ CoderWarning
Definition: exception.h:42
FatalErrorHandler
void(* FatalErrorHandler)(const ExceptionType, const char *, const char *)
Definition: exception.h:131
MagickFatalError
MagickExport void MagickFatalError(const ExceptionType error, const char *reason, const char *description)
Definition: exception.c:814
NewLinkedList
MagickExport LinkedListInfo * NewLinkedList(const size_t capacity)
Definition: hashmap.c:1363
exception-private.h
error_handler
static ErrorHandler error_handler
Definition: exception.c:81
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1149
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
UnlockSemaphoreInfo
MagickExport void UnlockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:449
_ExceptionInfo::reason
char * reason
Definition: exception.h:111
exception.h
TypeFatalError
@ TypeFatalError
Definition: exception.h:79
PolicyFatalError
@ PolicyFatalError
Definition: exception.h:99
_ExceptionInfo::error_number
int error_number
Definition: exception.h:108
ThrowException
MagickExport MagickBooleanType ThrowException(ExceptionInfo *exception, const ExceptionType severity, const char *reason, const char *description)
Definition: exception.c:997
ModuleWarning
@ ModuleWarning
Definition: exception.h:44
CopyMagickString
MagickExport size_t CopyMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
Definition: string.c:751
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1420
MagickCoreTerminus
MagickExport void MagickCoreTerminus(void)
Definition: magick.c:1369
AcquireExceptionInfo
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
Definition: exception.c:113
MaxTextExtent
#define MaxTextExtent
Definition: method-attribute.h:89
StreamFatalError
@ StreamFatalError
Definition: exception.h:86
CatchException
MagickExport void CatchException(ExceptionInfo *exception)
Definition: exception.c:203
module
const char * module
Definition: static.c:70
InheritException
MagickExport void InheritException(ExceptionInfo *exception, const ExceptionInfo *relative)
Definition: exception.c:692
UndefinedException
@ UndefinedException
Definition: exception.h:30
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
ThrowMagickExceptionList
MagickExport MagickBooleanType ThrowMagickExceptionList(ExceptionInfo *, const char *, const char *, const size_t, const ExceptionType, const char *, const char *, va_list) magick_attribute((__format__(__printf__
ConfigureError
@ ConfigureError
Definition: exception.h:75
fatal_error_handler
static FatalErrorHandler fatal_error_handler
Definition: exception.c:84
DrawFatalError
@ DrawFatalError
Definition: exception.h:91
client.h
ImageFatalError
@ ImageFatalError
Definition: exception.h:92
MissingDelegateWarning
@ MissingDelegateWarning
Definition: exception.h:36
StreamError
@ StreamError
Definition: exception.h:63