MagickCore  6.9.11
exception.c File Reference
#include "magick/studio.h"
#include "magick/client.h"
#include "magick/exception.h"
#include "magick/exception-private.h"
#include "magick/hashmap.h"
#include "magick/locale_.h"
#include "magick/log.h"
#include "magick/magick.h"
#include "magick/memory_.h"
#include "magick/semaphore.h"
#include "magick/string_.h"
#include "magick/utility.h"
Include dependency graph for exception.c:

Go to the source code of this file.

Macros

#define MaxExceptionList   64
 

Functions

static void DefaultErrorHandler (const ExceptionType, const char *, const char *)
 
static void DefaultFatalErrorHandler (const ExceptionType, const char *, const char *)
 
static void DefaultWarningHandler (const ExceptionType, const char *, const char *)
 
MagickExport ExceptionInfoAcquireExceptionInfo (void)
 
static void * DestroyExceptionElement (void *exception)
 
MagickExport void ClearMagickException (ExceptionInfo *exception)
 
MagickExport void CatchException (ExceptionInfo *exception)
 
MagickExport ExceptionInfoCloneExceptionInfo (ExceptionInfo *exception)
 
static void DefaultErrorHandler (const ExceptionType magick_unused(severity), const char *reason, const char *description)
 
static void DefaultWarningHandler (const ExceptionType magick_unused(severity), const char *reason, const char *description)
 
MagickPrivate MagickBooleanType ClearExceptionInfo (ExceptionInfo *exception, MagickBooleanType relinquish)
 
MagickExport ExceptionInfoDestroyExceptionInfo (ExceptionInfo *exception)
 
MagickPrivate MagickBooleanType ExceptionComponentGenesis (void)
 
MagickPrivate void ExceptionComponentTerminus (void)
 
MagickExport char * GetExceptionMessage (const int error)
 
static const char * ExceptionSeverityToTag (const ExceptionType severity)
 
MagickExport const char * GetLocaleExceptionMessage (const ExceptionType severity, const char *tag)
 
MagickExport void InheritException (ExceptionInfo *exception, const ExceptionInfo *relative)
 
MagickPrivate void InitializeExceptionInfo (ExceptionInfo *exception)
 
MagickExport void MagickError (const ExceptionType error, const char *reason, const char *description)
 
MagickExport void MagickFatalError (const ExceptionType error, const char *reason, const char *description)
 
MagickExport void MagickWarning (const ExceptionType warning, const char *reason, const char *description)
 
MagickExport ErrorHandler SetErrorHandler (ErrorHandler handler)
 
MagickExport FatalErrorHandler SetFatalErrorHandler (FatalErrorHandler handler)
 
MagickExport WarningHandler SetWarningHandler (WarningHandler handler)
 
MagickExport MagickBooleanType ThrowException (ExceptionInfo *exception, const ExceptionType severity, const char *reason, const char *description)
 
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)
 
MagickExport MagickBooleanType ThrowMagickException (ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
 

Variables

static ErrorHandler error_handler = DefaultErrorHandler
 
static FatalErrorHandler fatal_error_handler = DefaultFatalErrorHandler
 
static WarningHandler warning_handler = DefaultWarningHandler
 
static SemaphoreInfoexception_semaphore = (SemaphoreInfo *) NULL
 

Macro Definition Documentation

◆ MaxExceptionList

#define MaxExceptionList   64

Definition at line 59 of file exception.c.

Referenced by ThrowException().

Function Documentation

◆ AcquireExceptionInfo()

◆ CatchException()

◆ ClearExceptionInfo()

◆ ClearMagickException()

◆ CloneExceptionInfo()

◆ DefaultErrorHandler() [1/2]

static void DefaultErrorHandler ( const ExceptionType  ,
const char *  ,
const char *   
)
static

◆ DefaultErrorHandler() [2/2]

static void DefaultErrorHandler ( const ExceptionType   magick_unusedseverity,
const char *  reason,
const char *  description 
)
static

Definition at line 300 of file exception.c.

References FormatLocaleFile(), GetClientName(), and magick_unreferenced.

◆ DefaultFatalErrorHandler()

static void DefaultFatalErrorHandler ( const ExceptionType  severity,
const char *  reason,
const char *  description 
)

◆ DefaultWarningHandler() [1/2]

static void DefaultWarningHandler ( const ExceptionType  ,
const char *  ,
const char *   
)

◆ DefaultWarningHandler() [2/2]

static void DefaultWarningHandler ( const ExceptionType   magick_unusedseverity,
const char *  reason,
const char *  description 
)
static

Definition at line 384 of file exception.c.

References FormatLocaleFile(), GetClientName(), and magick_unreferenced.

◆ DestroyExceptionElement()

static void* DestroyExceptionElement ( void *  exception)
static

◆ DestroyExceptionInfo()

◆ ExceptionComponentGenesis()

MagickPrivate MagickBooleanType ExceptionComponentGenesis ( void  )

Definition at line 473 of file exception.c.

References AllocateSemaphoreInfo(), exception_semaphore, and MagickTrue.

Referenced by MagickCoreGenesis().

◆ ExceptionComponentTerminus()

MagickPrivate void ExceptionComponentTerminus ( void  )

◆ ExceptionSeverityToTag()

◆ GetExceptionMessage()

MagickExport char* GetExceptionMessage ( const int  error)

Definition at line 530 of file exception.c.

References ConstantString(), CopyMagickString(), and MaxTextExtent.

◆ GetLocaleExceptionMessage()

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

◆ InheritException()

MagickExport void InheritException ( ExceptionInfo exception,
const ExceptionInfo relative 
)

Definition at line 692 of file exception.c.

References _ExceptionInfo::description, _ExceptionInfo::exceptions, GetNextValueInLinkedList(), LockSemaphoreInfo(), MagickCoreSignature, _ExceptionInfo::reason, ResetLinkedListIterator(), _ExceptionInfo::semaphore, _ExceptionInfo::severity, _ExceptionInfo::signature, ThrowException(), and UnlockSemaphoreInfo().

Referenced by AdaptiveBlurImageChannel(), AdaptiveSharpenImageChannel(), AdaptiveThresholdImage(), AddNoiseImageChannel(), AppendImages(), BlueShiftImage(), CloneExceptionInfo(), CloneImage(), CloneImageView(), ColorizeImage(), ColorMatrixImage(), CombineImages(), CompareImageChannels(), ConstituteImage(), DespeckleImage(), DistortImage(), DistortResizeImage(), DuplexTransferImageViewIterator(), EnhanceImage(), EvaluateImageChannel(), EvaluateImages(), ExtentImage(), FilterImageChannel(), FrameImage(), FunctionImageChannel(), FxImageChannel(), GetImageException(), HorizontalFilter(), ImagesToBlob(), ImageToBlob(), ImplodeImage(), InterpolativeResizeImage(), KuwaharaImageChannel(), LocalContrastImage(), MeanShiftImage(), MontageImageList(), MorphImages(), MorphologyApply(), MotionBlurImageChannel(), OilPaintImage(), OrderedPosterizeImageChannel(), PolaroidImage(), PolynomialImageChannel(), RandomThresholdImageChannel(), RotationalBlurImageChannel(), ScaleImage(), SelectiveBlurImageChannel(), SepiaToneImage(), SetImageViewIterator(), ShadeImage(), ShearImage(), ShearRotateImage(), SimilarityMetricImage(), SmushImages(), SparseColorImage(), SpliceImage(), SpreadImage(), StatisticImageChannel(), SteganoImage(), StereoAnaglyphImage(), SwirlImage(), TintImage(), TransferImageViewIterator(), UniqueImageColors(), UpdateImageViewIterator(), VerticalFilter(), VignetteImage(), and WaveImage().

◆ InitializeExceptionInfo()

◆ MagickError()

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

Definition at line 778 of file exception.c.

References error_handler.

Referenced by CatchException().

◆ MagickFatalError()

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

Definition at line 814 of file exception.c.

References fatal_error_handler.

Referenced by CatchException().

◆ MagickWarning()

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

Definition at line 848 of file exception.c.

References warning_handler.

Referenced by CatchException().

◆ SetErrorHandler()

◆ SetFatalErrorHandler()

◆ SetWarningHandler()

◆ ThrowException()

◆ 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 at line 1149 of file exception.c.

References module, and ThrowMagickExceptionList().

Referenced by AcquireCacheNexusPixels(), AcquireCoderCache(), AcquireColorCache(), AcquireFxThreadSet(), AcquireMagicCache(), AcquireMatrixInfo(), AcquirePolicyCache(), AcquireStreamPixels(), AnimateImages(), BlobToImage(), CheckImageColors(), CheckPrimitiveExtent(), ClassifyImageColors(), CloneImage(), CloneImages(), ComplexImages(), CompositeImageChannel(), ConnectPixelCacheServer(), ConstrainColormapIndex(), CropImage(), DeleteImages(), DisplayImages(), DistortImage(), EvaluateImages(), ExportBlackQuantum(), ExportCMYKAQuantum(), ExportCMYKOQuantum(), ExportCMYKQuantum(), ExportImagePixels(), ExportIndexAlphaQuantum(), ExportIndexQuantum(), ExternalDelegateCommand(), FileToBlob(), FileToImage(), ForwardFourierTransformImage(), FxEvaluateSubexpression(), FxGetSymbol(), FxSubexpression(), GenerateCoefficients(), GetColorCompliance(), GetConfigureBlob(), GetConfigureOptions(), GetConfigurePaths(), GetDelegateCommand(), GetEdgeBoundingBox(), GetImageBoundingBox(), GetImageChannelDistortions(), GetImageChannelFeatures(), GetImageDynamicThreshold(), GetImageHistogram(), GetImageTotalInkDensity(), GetMultilineTypeMetrics(), GetThresholdMapFile(), GetTypeInfoByFamily(), GetVirtualPixelStream(), HorizontalFilter(), ImageListToArray(), ImagesToBlob(), ImageToBlob(), ImageToFile(), ImportBlackQuantum(), ImportCMYKAQuantum(), ImportCMYKOQuantum(), ImportCMYKQuantum(), ImportImagePixels(), ImportIndexAlphaQuantum(), ImportIndexQuantum(), InterpretDelegateProperties(), InterpretImageProperties(), InverseFourierTransformImage(), InvokeDelegate(), InvokeDynamicImageFilter(), IsCoderAuthorized(), IsHistogramImage(), IsValidColormapIndex(), KapurThreshold(), LiquidRescaleImage(), ListThresholdMapFile(), LoadCoderCache(), LoadColorCache(), LoadConfigureCache(), LoadDelegateCache(), LoadLocaleCache(), LoadLogCache(), LoadMagicCache(), LoadMimeCache(), LoadPolicyCache(), LoadTypeCache(), NewXMLTree(), OpenBlob(), OpenPixelCache(), OrderedPosterizeImageChannel(), OTSUThreshold(), ParseAffineGeometry(), ParseCloseTag(), ParseGravityGeometry(), ParseInternalDoctype(), ParsePageGeometry(), ParseRegionGeometry(), PersistPixelCache(), PingBlob(), PolynomialImageChannel(), ProfileImage(), QuantizeImages(), QueryMagickColorCompliance(), QueueAuthenticPixelCacheNexus(), QueueAuthenticPixelsStream(), ReadImage(), RegisterStaticModule(), RemoteDisplayCommand(), RemoveZeroDelayLayers(), RenderFreetype(), RenderMVGContent(), RenderType(), SetFxSymbolValue(), SetImageExtent(), SetImageProfileInternal(), SetImageRegistry(), SetPixelCacheNexusPixels(), SetResampleFilter(), StreamImagePixels(), StringToArrayOfDoubles(), SyncAuthenticPixelsStream(), SyncImage(), ThrowException(), TraceBezier(), TraceEllipse(), VerticalFilter(), WriteImage(), XRenderImage(), and ZLIBEncodeImage().

◆ 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 
)

Variable Documentation

◆ error_handler

ErrorHandler error_handler = DefaultErrorHandler
static

Definition at line 81 of file exception.c.

Referenced by MagickError(), and SetErrorHandler().

◆ exception_semaphore

◆ fatal_error_handler

FatalErrorHandler fatal_error_handler = DefaultFatalErrorHandler
static

Definition at line 84 of file exception.c.

Referenced by MagickFatalError(), and SetFatalErrorHandler().

◆ warning_handler

WarningHandler warning_handler = DefaultWarningHandler
static

Definition at line 87 of file exception.c.

Referenced by MagickWarning(), and SetWarningHandler().