13ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// This may look like C code, but it is really -*- C++ -*-
23ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//
33ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
477328896b876314656427663695bc7b2c9be3f74dirk// Copyright Dirk Lemstra 2014-2015
53ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//
63ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Implementation of Exception and derived classes
73ed852eea50f9d4cd633efb8c2b054b8e33c253cristy//
83ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
93ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICKCORE_IMPLEMENTATION  1
103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define MAGICK_PLUSPLUS_IMPLEMENTATION 1
113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include "Magick++/Include.h"
133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <string>
143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <errno.h>
153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <string.h>
163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
173ed852eea50f9d4cd633efb8c2b054b8e33c253cristyusing namespace std;
183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include "Magick++/Exception.h"
203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
216f15d82aec290f076ce634e702d0f708526ea366dirkMagick::Exception::Exception(const std::string& what_)
220e68f9b93b484612cd304f3a3e1d82bd9de653a7cristy  : std::exception(),
231694921b43fae47089dd97243009e5e781f2a597dirk    _what(what_),
241694921b43fae47089dd97243009e5e781f2a597dirk    _nested((Exception *) NULL)
251694921b43fae47089dd97243009e5e781f2a597dirk{
261694921b43fae47089dd97243009e5e781f2a597dirk}
271694921b43fae47089dd97243009e5e781f2a597dirk
281694921b43fae47089dd97243009e5e781f2a597dirkMagick::Exception::Exception(const std::string& what_,
291694921b43fae47089dd97243009e5e781f2a597dirk  Exception* nested_)
301694921b43fae47089dd97243009e5e781f2a597dirk    : std::exception(),
311694921b43fae47089dd97243009e5e781f2a597dirk    _what(what_),
321694921b43fae47089dd97243009e5e781f2a597dirk    _nested(nested_)
333ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
366f15d82aec290f076ce634e702d0f708526ea366dirkMagick::Exception::Exception(const Magick::Exception& original_)
3718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy  : exception(original_),
381694921b43fae47089dd97243009e5e781f2a597dirk    _what(original_._what),
391694921b43fae47089dd97243009e5e781f2a597dirk    _nested((Exception *) NULL)
403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
436f15d82aec290f076ce634e702d0f708526ea366dirkMagick::Exception::~Exception() throw()
443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
451694921b43fae47089dd97243009e5e781f2a597dirk  if (_nested != (Exception *) NULL)
461694921b43fae47089dd97243009e5e781f2a597dirk    delete _nested;
473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
496f15d82aec290f076ce634e702d0f708526ea366dirkMagick::Exception& Magick::Exception::operator=(
506f15d82aec290f076ce634e702d0f708526ea366dirk  const Magick::Exception& original_)
513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
521694921b43fae47089dd97243009e5e781f2a597dirk  if (this != &original_)
536f15d82aec290f076ce634e702d0f708526ea366dirk    this->_what=original_._what;
546f15d82aec290f076ce634e702d0f708526ea366dirk  return(*this);
553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
576f15d82aec290f076ce634e702d0f708526ea366dirkconst char* Magick::Exception::what() const throw()
583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
596f15d82aec290f076ce634e702d0f708526ea366dirk  return(_what.c_str());
603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
621694921b43fae47089dd97243009e5e781f2a597dirkconst Magick::Exception* Magick::Exception::nested() const throw()
631694921b43fae47089dd97243009e5e781f2a597dirk{
641694921b43fae47089dd97243009e5e781f2a597dirk  return(_nested);
651694921b43fae47089dd97243009e5e781f2a597dirk}
661694921b43fae47089dd97243009e5e781f2a597dirk
671694921b43fae47089dd97243009e5e781f2a597dirkvoid Magick::Exception::nested(Exception* nested_) throw()
681694921b43fae47089dd97243009e5e781f2a597dirk{
691694921b43fae47089dd97243009e5e781f2a597dirk  _nested=nested_;
701694921b43fae47089dd97243009e5e781f2a597dirk}
711694921b43fae47089dd97243009e5e781f2a597dirk
726f15d82aec290f076ce634e702d0f708526ea366dirkMagick::Error::Error(const std::string& what_)
733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : Exception(what_)
743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
771694921b43fae47089dd97243009e5e781f2a597dirkMagick::Error::Error(const std::string& what_,Exception *nested_)
781694921b43fae47089dd97243009e5e781f2a597dirk  : Exception(what_,nested_)
791694921b43fae47089dd97243009e5e781f2a597dirk{
801694921b43fae47089dd97243009e5e781f2a597dirk}
811694921b43fae47089dd97243009e5e781f2a597dirk
826f15d82aec290f076ce634e702d0f708526ea366dirkMagick::Error::~Error() throw()
8318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
8418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
8518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
866f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorBlob::ErrorBlob(const std::string& what_)
876f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
911694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorBlob::ErrorBlob(const std::string& what_,Exception *nested_)
921694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
931694921b43fae47089dd97243009e5e781f2a597dirk{
941694921b43fae47089dd97243009e5e781f2a597dirk}
951694921b43fae47089dd97243009e5e781f2a597dirk
966f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorBlob::~ErrorBlob() throw()
9718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
9818307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
9918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
1006f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorCache::ErrorCache(const std::string& what_)
1016f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
1023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1051694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorCache::ErrorCache(const std::string& what_,Exception *nested_)
1061694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
1071694921b43fae47089dd97243009e5e781f2a597dirk{
1081694921b43fae47089dd97243009e5e781f2a597dirk}
1091694921b43fae47089dd97243009e5e781f2a597dirk
1106f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorCache::~ErrorCache() throw()
11118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
11218307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
11318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
1146f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorCoder::ErrorCoder(const std::string& what_)
1156f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
1163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1191694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorCoder::ErrorCoder(const std::string& what_,Exception *nested_)
1201694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
1211694921b43fae47089dd97243009e5e781f2a597dirk{
1221694921b43fae47089dd97243009e5e781f2a597dirk}
1231694921b43fae47089dd97243009e5e781f2a597dirk
1246f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorCoder::~ErrorCoder() throw()
12518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
12618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
12718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
1286f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorConfigure::ErrorConfigure(const std::string& what_)
1296f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
1303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1331694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorConfigure::ErrorConfigure(const std::string& what_,
1341694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
1351694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
1361694921b43fae47089dd97243009e5e781f2a597dirk{
1371694921b43fae47089dd97243009e5e781f2a597dirk}
1381694921b43fae47089dd97243009e5e781f2a597dirk
1396f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorConfigure::~ErrorConfigure() throw()
14018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
14118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
14218307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
1436f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorCorruptImage::ErrorCorruptImage(const std::string& what_)
1446f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
1453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1481694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorCorruptImage::ErrorCorruptImage(const std::string& what_,
1491694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
1501694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
1511694921b43fae47089dd97243009e5e781f2a597dirk{
1521694921b43fae47089dd97243009e5e781f2a597dirk}
1531694921b43fae47089dd97243009e5e781f2a597dirk
1546f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorCorruptImage::~ErrorCorruptImage() throw()
15518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
15618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
15718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
1586f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorDelegate::ErrorDelegate(const std::string& what_)
1596f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
1603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1631694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorDelegate::ErrorDelegate(const std::string& what_,
1641694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
1651694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
1661694921b43fae47089dd97243009e5e781f2a597dirk{
1671694921b43fae47089dd97243009e5e781f2a597dirk}
1681694921b43fae47089dd97243009e5e781f2a597dirk
1696f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorDelegate::~ErrorDelegate()throw()
17018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
17118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
17218307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
1736f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorDraw::ErrorDraw(const std::string& what_)
1746f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
1753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1763ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1781694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorDraw::ErrorDraw(const std::string& what_,Exception *nested_)
1791694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
1801694921b43fae47089dd97243009e5e781f2a597dirk{
1811694921b43fae47089dd97243009e5e781f2a597dirk}
1821694921b43fae47089dd97243009e5e781f2a597dirk
1836f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorDraw::~ErrorDraw() throw()
18418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
18518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
18618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
1876f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorFileOpen::ErrorFileOpen(const std::string& what_)
1886f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
1893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
1903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
1913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
1926f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorFileOpen::~ErrorFileOpen() throw()
19318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
19418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
19518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
1961694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorFileOpen::ErrorFileOpen(const std::string& what_,
1971694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
1981694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
1991694921b43fae47089dd97243009e5e781f2a597dirk{
2001694921b43fae47089dd97243009e5e781f2a597dirk}
2011694921b43fae47089dd97243009e5e781f2a597dirk
2021694921b43fae47089dd97243009e5e781f2a597dirk
2036f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorImage::ErrorImage(const std::string& what_)
2046f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
2053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2081694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorImage::ErrorImage(const std::string& what_,Exception *nested_)
2091694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
2101694921b43fae47089dd97243009e5e781f2a597dirk{
2111694921b43fae47089dd97243009e5e781f2a597dirk}
2121694921b43fae47089dd97243009e5e781f2a597dirk
2136f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorImage::~ErrorImage() throw()
21418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
21518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
21618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
2176f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorMissingDelegate::ErrorMissingDelegate(const std::string& what_)
2186f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
2193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2221694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorMissingDelegate::ErrorMissingDelegate(const std::string& what_,
2231694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
2241694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
2251694921b43fae47089dd97243009e5e781f2a597dirk{
2261694921b43fae47089dd97243009e5e781f2a597dirk}
2271694921b43fae47089dd97243009e5e781f2a597dirk
2286f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorMissingDelegate::~ErrorMissingDelegate() throw ()
22918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
23018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
23118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
2326f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorModule::ErrorModule(const std::string& what_)
2336f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
2343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2371694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorModule::ErrorModule(const std::string& what_,Exception *nested_)
2381694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
2391694921b43fae47089dd97243009e5e781f2a597dirk{
2401694921b43fae47089dd97243009e5e781f2a597dirk}
2411694921b43fae47089dd97243009e5e781f2a597dirk
2426f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorModule::~ErrorModule() throw()
24318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
24418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
24518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
2466f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorMonitor::ErrorMonitor(const std::string& what_)
2476f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
2483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2511694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorMonitor::ErrorMonitor(const std::string& what_,Exception *nested_)
2521694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
2531694921b43fae47089dd97243009e5e781f2a597dirk{
2541694921b43fae47089dd97243009e5e781f2a597dirk}
2551694921b43fae47089dd97243009e5e781f2a597dirk
2566f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorMonitor::~ErrorMonitor() throw()
25718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
25818307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
25918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
2606f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorOption::ErrorOption(const std::string& what_)
2616f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
2623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2651694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorOption::ErrorOption(const std::string& what_,Exception *nested_)
2661694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
26718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
26818307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
26918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
2701694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorOption::~ErrorOption() throw()
271caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk{
272caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk}
273caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk
274caa4d7415dc03d49be07b829bdbae58bc8f76a33dirkMagick::ErrorPolicy::ErrorPolicy(const std::string& what_)
275caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk  : Error(what_)
276caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk{
277caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk}
278caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk
2791694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorPolicy::ErrorPolicy(const std::string& what_,Exception *nested_)
2801694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
2811694921b43fae47089dd97243009e5e781f2a597dirk{
2821694921b43fae47089dd97243009e5e781f2a597dirk}
2831694921b43fae47089dd97243009e5e781f2a597dirk
2841694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorPolicy::~ErrorPolicy() throw()
2851694921b43fae47089dd97243009e5e781f2a597dirk{
2861694921b43fae47089dd97243009e5e781f2a597dirk}
2871694921b43fae47089dd97243009e5e781f2a597dirk
2881694921b43fae47089dd97243009e5e781f2a597dirk
2896f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorRegistry::ErrorRegistry(const std::string& what_)
2906f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
2913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
2923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
2933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
2941694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorRegistry::ErrorRegistry(const std::string& what_,
2951694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
2961694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
2971694921b43fae47089dd97243009e5e781f2a597dirk{
2981694921b43fae47089dd97243009e5e781f2a597dirk}
2991694921b43fae47089dd97243009e5e781f2a597dirk
3006f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorRegistry::~ErrorRegistry() throw()
30118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
30218307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
30318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
3046f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorResourceLimit::ErrorResourceLimit(const std::string& what_)
3056f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
3063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3091694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorResourceLimit::ErrorResourceLimit(const std::string& what_,
3101694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
3111694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
3121694921b43fae47089dd97243009e5e781f2a597dirk{
3131694921b43fae47089dd97243009e5e781f2a597dirk}
3141694921b43fae47089dd97243009e5e781f2a597dirk
3156f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorResourceLimit::~ErrorResourceLimit() throw()
31618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
31718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
31818307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
3196f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorStream::ErrorStream(const std::string& what_)
3206f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
3213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3241694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorStream::ErrorStream(const std::string& what_,Exception *nested_)
3251694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
3261694921b43fae47089dd97243009e5e781f2a597dirk{
3271694921b43fae47089dd97243009e5e781f2a597dirk}
3281694921b43fae47089dd97243009e5e781f2a597dirk
3296f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorStream::~ErrorStream() throw()
33018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
33118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
33218307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
3336f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorType::ErrorType(const std::string& what_)
3346f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
3353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3381694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorType::ErrorType(const std::string& what_,Exception *nested_)
3391694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
3401694921b43fae47089dd97243009e5e781f2a597dirk{
3411694921b43fae47089dd97243009e5e781f2a597dirk}
3421694921b43fae47089dd97243009e5e781f2a597dirk
3436f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorType::~ErrorType() throw()
34418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
34518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
34618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
3476f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorUndefined::ErrorUndefined(const std::string& what_)
3486f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
3493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3521694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorUndefined::ErrorUndefined(const std::string& what_,
3531694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
3541694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
3551694921b43fae47089dd97243009e5e781f2a597dirk{
3561694921b43fae47089dd97243009e5e781f2a597dirk}
3571694921b43fae47089dd97243009e5e781f2a597dirk
3586f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorUndefined::~ErrorUndefined() throw()
35918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
36018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
36118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
3626f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorXServer::ErrorXServer(const std::string& what_)
3636f15d82aec290f076ce634e702d0f708526ea366dirk  : Error(what_)
3643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3671694921b43fae47089dd97243009e5e781f2a597dirkMagick::ErrorXServer::ErrorXServer(const std::string& what_,Exception *nested_)
3681694921b43fae47089dd97243009e5e781f2a597dirk  : Error(what_,nested_)
3691694921b43fae47089dd97243009e5e781f2a597dirk{
3701694921b43fae47089dd97243009e5e781f2a597dirk}
3711694921b43fae47089dd97243009e5e781f2a597dirk
3726f15d82aec290f076ce634e702d0f708526ea366dirkMagick::ErrorXServer::~ErrorXServer() throw ()
37318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
37418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
37518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
3766f15d82aec290f076ce634e702d0f708526ea366dirkMagick::Warning::Warning(const std::string& what_)
3773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  : Exception(what_)
3783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3811694921b43fae47089dd97243009e5e781f2a597dirkMagick::Warning::Warning(const std::string& what_,Exception *nested_)
3821694921b43fae47089dd97243009e5e781f2a597dirk  : Exception(what_,nested_)
3831694921b43fae47089dd97243009e5e781f2a597dirk{
3841694921b43fae47089dd97243009e5e781f2a597dirk}
3851694921b43fae47089dd97243009e5e781f2a597dirk
3866f15d82aec290f076ce634e702d0f708526ea366dirkMagick::Warning::~Warning() throw()
38718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
38818307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
38918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
3906f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningBlob::WarningBlob(const std::string& what_)
3916f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
3923ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
3933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
3943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
3951694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningBlob::WarningBlob(const std::string& what_,Exception *nested_)
3961694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
3971694921b43fae47089dd97243009e5e781f2a597dirk{
3981694921b43fae47089dd97243009e5e781f2a597dirk}
3991694921b43fae47089dd97243009e5e781f2a597dirk
4006f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningBlob::~WarningBlob() throw()
40118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
40218307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
40318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
4046f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningCache::WarningCache(const std::string& what_)
4056f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
4063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
4091694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningCache::WarningCache(const std::string& what_,Exception *nested_)
4101694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
4111694921b43fae47089dd97243009e5e781f2a597dirk{
4121694921b43fae47089dd97243009e5e781f2a597dirk}
4131694921b43fae47089dd97243009e5e781f2a597dirk
4146f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningCache::~WarningCache() throw()
41518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
41618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
41718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
4186f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningCoder::WarningCoder(const std::string& what_)
4196f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
4203ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
4231694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningCoder::WarningCoder(const std::string& what_,Exception *nested_)
4241694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
4251694921b43fae47089dd97243009e5e781f2a597dirk{
4261694921b43fae47089dd97243009e5e781f2a597dirk}
4271694921b43fae47089dd97243009e5e781f2a597dirk
4286f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningCoder::~WarningCoder() throw()
42918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
43018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
43118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
4326f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningConfigure::WarningConfigure(const std::string& what_)
4336f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
4343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4363ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
4371694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningConfigure::WarningConfigure(const std::string& what_,
4381694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
4391694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
4401694921b43fae47089dd97243009e5e781f2a597dirk{
4411694921b43fae47089dd97243009e5e781f2a597dirk}
4421694921b43fae47089dd97243009e5e781f2a597dirk
4436f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningConfigure::~WarningConfigure() throw()
44418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
44518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
44618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
4476f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningCorruptImage::WarningCorruptImage(const std::string& what_)
4486f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
4493ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
4521694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningCorruptImage::WarningCorruptImage(const std::string& what_,
4531694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
4541694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
4551694921b43fae47089dd97243009e5e781f2a597dirk{
4561694921b43fae47089dd97243009e5e781f2a597dirk}
4571694921b43fae47089dd97243009e5e781f2a597dirk
4586f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningCorruptImage::~WarningCorruptImage() throw()
45918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
46018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
46118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
4626f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningDelegate::WarningDelegate(const std::string& what_)
4636f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
4643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
4671694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningDelegate::WarningDelegate(const std::string& what_,
4681694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
4691694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
4701694921b43fae47089dd97243009e5e781f2a597dirk{
4711694921b43fae47089dd97243009e5e781f2a597dirk}
4721694921b43fae47089dd97243009e5e781f2a597dirk
4736f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningDelegate::~WarningDelegate() throw()
47418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
47518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
47618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
4776f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningDraw::WarningDraw(const std::string& what_)
4786f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
4793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
4821694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningDraw::WarningDraw(const std::string& what_,Exception *nested_)
4831694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
4841694921b43fae47089dd97243009e5e781f2a597dirk{
4851694921b43fae47089dd97243009e5e781f2a597dirk}
4861694921b43fae47089dd97243009e5e781f2a597dirk
4876f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningDraw::~WarningDraw() throw()
48818307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
48918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
49018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
4916f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningFileOpen::WarningFileOpen(const std::string& what_)
4926f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
4933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
4943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
4953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
4961694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningFileOpen::WarningFileOpen(const std::string& what_,
4971694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
4981694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
4991694921b43fae47089dd97243009e5e781f2a597dirk{
5001694921b43fae47089dd97243009e5e781f2a597dirk}
5011694921b43fae47089dd97243009e5e781f2a597dirk
5026f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningFileOpen::~WarningFileOpen() throw()
50318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
50418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
50518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
5066f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningImage::WarningImage(const std::string& what_)
5076f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
5083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5111694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningImage::WarningImage(const std::string& what_,Exception *nested_)
5121694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
5131694921b43fae47089dd97243009e5e781f2a597dirk{
5141694921b43fae47089dd97243009e5e781f2a597dirk}
5151694921b43fae47089dd97243009e5e781f2a597dirk
5166f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningImage::~WarningImage() throw()
51718307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
51818307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
51918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
5206f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningMissingDelegate::WarningMissingDelegate(
5216f15d82aec290f076ce634e702d0f708526ea366dirk  const std::string& what_)
5226f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
5233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5261694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningMissingDelegate::WarningMissingDelegate(
5271694921b43fae47089dd97243009e5e781f2a597dirk  const std::string& what_,Exception *nested_)
5281694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
5291694921b43fae47089dd97243009e5e781f2a597dirk{
5301694921b43fae47089dd97243009e5e781f2a597dirk}
5311694921b43fae47089dd97243009e5e781f2a597dirk
5326f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningMissingDelegate::~WarningMissingDelegate() throw()
53318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
53418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
53518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
5366f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningModule::WarningModule(const std::string& what_)
5376f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
5383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5411694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningModule::WarningModule(const std::string& what_,
5421694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
5431694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
5441694921b43fae47089dd97243009e5e781f2a597dirk{
5451694921b43fae47089dd97243009e5e781f2a597dirk}
5461694921b43fae47089dd97243009e5e781f2a597dirk
5471694921b43fae47089dd97243009e5e781f2a597dirk
5486f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningModule::~WarningModule() throw()
54918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
55018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
55118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
5526f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningMonitor::WarningMonitor(const std::string& what_)
5536f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
5543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5571694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningMonitor::WarningMonitor(const std::string& what_,
5581694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
5591694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
5601694921b43fae47089dd97243009e5e781f2a597dirk{
5611694921b43fae47089dd97243009e5e781f2a597dirk}
5621694921b43fae47089dd97243009e5e781f2a597dirk
5636f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningMonitor::~WarningMonitor() throw()
56418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
56518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
56618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
5676f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningOption::WarningOption(const std::string& what_)
5686f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
5693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
5703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
5713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
5721694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningOption::WarningOption(const std::string& what_,
5731694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
5741694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
575caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk{
576caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk}
577caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk
5781694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningOption::~WarningOption() throw()
5791694921b43fae47089dd97243009e5e781f2a597dirk{
5801694921b43fae47089dd97243009e5e781f2a597dirk}
5811694921b43fae47089dd97243009e5e781f2a597dirk
5821694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningRegistry::WarningRegistry(const std::string& what_)
583caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk  : Warning(what_)
584caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk{
585caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk}
586caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk
5871694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningRegistry::WarningRegistry(const std::string& what_,
5881694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
5891694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
59018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
59118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
59218307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
5931694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningRegistry::~WarningRegistry() throw()
5941694921b43fae47089dd97243009e5e781f2a597dirk{
5951694921b43fae47089dd97243009e5e781f2a597dirk}
5961694921b43fae47089dd97243009e5e781f2a597dirk
5971694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningPolicy::WarningPolicy(const std::string& what_)
5986f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
5993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6003ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6021694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningPolicy::WarningPolicy(const std::string& what_,
6031694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
6041694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
6051694921b43fae47089dd97243009e5e781f2a597dirk{
6061694921b43fae47089dd97243009e5e781f2a597dirk}
6071694921b43fae47089dd97243009e5e781f2a597dirk
6081694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningPolicy::~WarningPolicy() throw()
60918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
61018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
61118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
6126f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningResourceLimit::WarningResourceLimit(const std::string& what_)
6136f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
6143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6171694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningResourceLimit::WarningResourceLimit(const std::string& what_,
6181694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
6191694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
6201694921b43fae47089dd97243009e5e781f2a597dirk{
6211694921b43fae47089dd97243009e5e781f2a597dirk}
6221694921b43fae47089dd97243009e5e781f2a597dirk
6236f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningResourceLimit::~WarningResourceLimit() throw()
62418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
62518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
62618307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
6276f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningStream::WarningStream(const std::string& what_)
6286f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
6293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6321694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningStream::WarningStream(const std::string& what_,
6331694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
6341694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
6351694921b43fae47089dd97243009e5e781f2a597dirk{
6361694921b43fae47089dd97243009e5e781f2a597dirk}
6371694921b43fae47089dd97243009e5e781f2a597dirk
6386f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningStream::~WarningStream() throw()
63918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
64018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
64118307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
6426f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningType::WarningType(const std::string& what_)
6436f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
6443ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6471694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningType::WarningType(const std::string& what_,Exception *nested_)
6481694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
6491694921b43fae47089dd97243009e5e781f2a597dirk{
6501694921b43fae47089dd97243009e5e781f2a597dirk}
6511694921b43fae47089dd97243009e5e781f2a597dirk
6526f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningType::~WarningType() throw()
65318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
65418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
65518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
6566f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningUndefined::WarningUndefined(const std::string& what_)
6576f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
6583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6611694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningUndefined::WarningUndefined(const std::string& what_,
6621694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
6631694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
6641694921b43fae47089dd97243009e5e781f2a597dirk{
6651694921b43fae47089dd97243009e5e781f2a597dirk}
6661694921b43fae47089dd97243009e5e781f2a597dirk
6676f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningUndefined::~WarningUndefined() throw()
66818307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
66918307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
67018307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
6716f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningXServer::WarningXServer(const std::string& what_)
6726f15d82aec290f076ce634e702d0f708526ea366dirk  : Warning(what_)
6733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
6743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
6753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
6761694921b43fae47089dd97243009e5e781f2a597dirkMagick::WarningXServer::WarningXServer(const std::string& what_,
6771694921b43fae47089dd97243009e5e781f2a597dirk  Exception *nested_)
6781694921b43fae47089dd97243009e5e781f2a597dirk  : Warning(what_,nested_)
6791694921b43fae47089dd97243009e5e781f2a597dirk{
6801694921b43fae47089dd97243009e5e781f2a597dirk}
6811694921b43fae47089dd97243009e5e781f2a597dirk
6826f15d82aec290f076ce634e702d0f708526ea366dirkMagick::WarningXServer::~WarningXServer() throw()
68318307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy{
68418307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy}
68518307f17b92df2cdaefc13f8ea486b16da9d0d2dcristy
6861694921b43fae47089dd97243009e5e781f2a597dirkstd::string Magick::formatExceptionMessage(const MagickCore::ExceptionInfo *exception_)
6871694921b43fae47089dd97243009e5e781f2a597dirk{
6881694921b43fae47089dd97243009e5e781f2a597dirk  // Format error message ImageMagick-style
689196161193bf9b855fea6141c72ad33085eb9ce57dirk  std::string message=GetClientName();
6901694921b43fae47089dd97243009e5e781f2a597dirk  if (exception_->reason != (char *) NULL)
6911694921b43fae47089dd97243009e5e781f2a597dirk    {
6921694921b43fae47089dd97243009e5e781f2a597dirk      message+=std::string(": ");
6931694921b43fae47089dd97243009e5e781f2a597dirk      message+=std::string(exception_->reason);
6941694921b43fae47089dd97243009e5e781f2a597dirk    }
6951694921b43fae47089dd97243009e5e781f2a597dirk
6961694921b43fae47089dd97243009e5e781f2a597dirk  if (exception_->description != (char *) NULL)
6971694921b43fae47089dd97243009e5e781f2a597dirk    message += " (" + std::string(exception_->description) + ")";
6981694921b43fae47089dd97243009e5e781f2a597dirk  return(message);
6991694921b43fae47089dd97243009e5e781f2a597dirk}
7001694921b43fae47089dd97243009e5e781f2a597dirk
7011694921b43fae47089dd97243009e5e781f2a597dirkMagick::Exception* Magick::createException(const MagickCore::ExceptionInfo *exception_)
7021694921b43fae47089dd97243009e5e781f2a597dirk{
7031694921b43fae47089dd97243009e5e781f2a597dirk  std::string message=formatExceptionMessage(exception_);
7041694921b43fae47089dd97243009e5e781f2a597dirk  switch (exception_->severity)
7051694921b43fae47089dd97243009e5e781f2a597dirk  {
70677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::BlobError:
70777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::BlobFatalError:
7081694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorBlob(message);
70977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::BlobWarning:
7101694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningBlob(message);
71177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CacheError:
71277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CacheFatalError:
7131694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorCache(message);
71477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CacheWarning:
7151694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningCache(message);
71677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CoderError:
71777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CoderFatalError:
7181694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorCoder(message);
71977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CoderWarning:
7201694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningCoder(message);
72177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ConfigureError:
72277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ConfigureFatalError:
7231694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorConfigure(message);
72477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ConfigureWarning:
7251694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningConfigure(message);
72677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CorruptImageError:
72777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CorruptImageFatalError:
7281694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorCorruptImage(message);
72977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CorruptImageWarning:
7301694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningCorruptImage(message);
73177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DelegateError:
73277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DelegateFatalError:
7331694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorDelegate(message);
73477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DelegateWarning:
7351694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningDelegate(message);
73677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DrawError:
73777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DrawFatalError:
7381694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorDraw(message);
73977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DrawWarning:
7401694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningDraw(message);
74177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::FileOpenError:
74277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::FileOpenFatalError:
7431694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorFileOpen(message);
74477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::FileOpenWarning:
7451694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningFileOpen(message);
74677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ImageError:
74777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ImageFatalError:
7481694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorImage(message);
74977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ImageWarning:
7501694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningImage(message);
75177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MissingDelegateError:
75277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MissingDelegateFatalError:
7531694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorMissingDelegate(message);
75477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MissingDelegateWarning:
7551694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningMissingDelegate(message);
75677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ModuleError:
75777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ModuleFatalError:
7581694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorModule(message);
75977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ModuleWarning:
7601694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningModule(message);
76177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MonitorError:
76277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MonitorFatalError:
7631694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorMonitor(message);
76477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MonitorWarning:
7651694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningMonitor(message);
76677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::OptionError:
76777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::OptionFatalError:
7681694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorOption(message);
76977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::OptionWarning:
7701694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningOption(message);
77177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::PolicyWarning:
7721694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningPolicy(message);
77377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::PolicyError:
77477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::PolicyFatalError:
7751694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorPolicy(message);
77677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::RegistryError:
77777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::RegistryFatalError:
7781694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorRegistry(message);
77977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::RegistryWarning:
7801694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningRegistry(message);
78177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ResourceLimitError:
78277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ResourceLimitFatalError:
7831694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorResourceLimit(message);
78477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ResourceLimitWarning:
7851694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningResourceLimit(message);
78677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::StreamError:
78777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::StreamFatalError:
7881694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorStream(message);
78977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::StreamWarning:
7901694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningStream(message);
79177328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::TypeError:
79277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::TypeFatalError:
7931694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorType(message);
79477328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::TypeWarning:
7951694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningType(message);
79677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::UndefinedException:
7971694921b43fae47089dd97243009e5e781f2a597dirk    default:
7981694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorUndefined(message);
79977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::XServerError:
80077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::XServerFatalError:
8011694921b43fae47089dd97243009e5e781f2a597dirk      return new ErrorXServer(message);
80277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::XServerWarning:
8031694921b43fae47089dd97243009e5e781f2a597dirk      return new WarningXServer(message);
8041694921b43fae47089dd97243009e5e781f2a597dirk    }
8051694921b43fae47089dd97243009e5e781f2a597dirk}
8061694921b43fae47089dd97243009e5e781f2a597dirk
8076f15d82aec290f076ce634e702d0f708526ea366dirkMagickPPExport void Magick::throwExceptionExplicit(
80877328896b876314656427663695bc7b2c9be3f74dirk  const MagickCore::ExceptionType severity_,const char* reason_,
80977328896b876314656427663695bc7b2c9be3f74dirk  const char* description_)
8103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  // Just return if there is no reported error
81277328896b876314656427663695bc7b2c9be3f74dirk  if (severity_ == MagickCore::UndefinedException)
8133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    return;
8143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
8156f15d82aec290f076ce634e702d0f708526ea366dirk  GetPPException;
81677328896b876314656427663695bc7b2c9be3f74dirk  ThrowException(exceptionInfo,severity_,reason_,description_);
81777328896b876314656427663695bc7b2c9be3f74dirk  ThrowPPException(false);
8183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy}
8193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
82077328896b876314656427663695bc7b2c9be3f74dirkMagickPPExport void Magick::throwException(ExceptionInfo *exception_,
82177328896b876314656427663695bc7b2c9be3f74dirk  const bool quiet_)
8223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{
8231694921b43fae47089dd97243009e5e781f2a597dirk  const ExceptionInfo
8241694921b43fae47089dd97243009e5e781f2a597dirk    *p;
8251694921b43fae47089dd97243009e5e781f2a597dirk
8261694921b43fae47089dd97243009e5e781f2a597dirk  Exception
8271694921b43fae47089dd97243009e5e781f2a597dirk    *nestedException,
8281694921b43fae47089dd97243009e5e781f2a597dirk    *q;
8291694921b43fae47089dd97243009e5e781f2a597dirk
83077328896b876314656427663695bc7b2c9be3f74dirk  MagickCore::ExceptionType
8316f15d82aec290f076ce634e702d0f708526ea366dirk    severity;
8326f15d82aec290f076ce634e702d0f708526ea366dirk
833aea390f6c0ad07cd3eae232d1e02801ee3ad42acdirk  size_t
834aea390f6c0ad07cd3eae232d1e02801ee3ad42acdirk    index;
835aea390f6c0ad07cd3eae232d1e02801ee3ad42acdirk
83677328896b876314656427663695bc7b2c9be3f74dirk  std::string
83777328896b876314656427663695bc7b2c9be3f74dirk    message;
83877328896b876314656427663695bc7b2c9be3f74dirk
8393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy  // Just return if there is no reported error
84077328896b876314656427663695bc7b2c9be3f74dirk  if (exception_->severity == MagickCore::UndefinedException)
8413ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    return;
8423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy
84377328896b876314656427663695bc7b2c9be3f74dirk  message=formatExceptionMessage(exception_);
8441694921b43fae47089dd97243009e5e781f2a597dirk  nestedException=(Exception *) NULL;
845e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk  LockSemaphoreInfo(exception_->semaphore);
846e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk  if (exception_->exceptions != (void *) NULL)
8473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    {
848aea390f6c0ad07cd3eae232d1e02801ee3ad42acdirk      index=GetNumberOfElementsInLinkedList((LinkedListInfo *)
849e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk        exception_->exceptions);
850aea390f6c0ad07cd3eae232d1e02801ee3ad42acdirk      while(index > 0)
8511694921b43fae47089dd97243009e5e781f2a597dirk      {
852aea390f6c0ad07cd3eae232d1e02801ee3ad42acdirk        p=(const ExceptionInfo *) GetValueFromLinkedList((LinkedListInfo *)
853e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk          exception_->exceptions,--index);
854e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk        if ((p->severity != exception_->severity) || (LocaleCompare(p->reason,
855e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk            exception_->reason) != 0) || (LocaleCompare(p->description,
856e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk            exception_->description) != 0))
8571694921b43fae47089dd97243009e5e781f2a597dirk          {
8581694921b43fae47089dd97243009e5e781f2a597dirk            if (nestedException == (Exception *) NULL)
8591694921b43fae47089dd97243009e5e781f2a597dirk              nestedException=createException(p);
8601694921b43fae47089dd97243009e5e781f2a597dirk            else
8611694921b43fae47089dd97243009e5e781f2a597dirk              {
8621694921b43fae47089dd97243009e5e781f2a597dirk                q=createException(p);
8631694921b43fae47089dd97243009e5e781f2a597dirk                nestedException->nested(q);
8641694921b43fae47089dd97243009e5e781f2a597dirk                nestedException=q;
8651694921b43fae47089dd97243009e5e781f2a597dirk              }
8661694921b43fae47089dd97243009e5e781f2a597dirk          }
8671694921b43fae47089dd97243009e5e781f2a597dirk      }
8683ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    }
869e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk  severity=exception_->severity;
8705ed5364cbf60ad92f56628ceaf41f97f5420b94bdirk  UnlockSemaphoreInfo(exception_->semaphore);
87177328896b876314656427663695bc7b2c9be3f74dirk
87277328896b876314656427663695bc7b2c9be3f74dirk  if ((quiet_) && (severity < MagickCore::ErrorException))
87377328896b876314656427663695bc7b2c9be3f74dirk    {
87477328896b876314656427663695bc7b2c9be3f74dirk      delete nestedException;
87577328896b876314656427663695bc7b2c9be3f74dirk      return;
87677328896b876314656427663695bc7b2c9be3f74dirk    }
87777328896b876314656427663695bc7b2c9be3f74dirk
878e31feb8a39ea937a6328da579085cd2ee66ab4c0dirk  DestroyExceptionInfo(exception_);
8796f15d82aec290f076ce634e702d0f708526ea366dirk
8806f15d82aec290f076ce634e702d0f708526ea366dirk  switch (severity)
8816f15d82aec290f076ce634e702d0f708526ea366dirk  {
88277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::BlobError:
88377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::BlobFatalError:
8841694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorBlob(message,nestedException);
88577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::BlobWarning:
8861694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningBlob(message,nestedException);
88777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CacheError:
88877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CacheFatalError:
8891694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorCache(message,nestedException);
89077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CacheWarning:
8911694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningCache(message,nestedException);
89277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CoderError:
89377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CoderFatalError:
8941694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorCoder(message,nestedException);
89577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CoderWarning:
8961694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningCoder(message,nestedException);
89777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ConfigureError:
89877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ConfigureFatalError:
8991694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorConfigure(message,nestedException);
90077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ConfigureWarning:
9011694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningConfigure(message,nestedException);
90277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CorruptImageError:
90377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CorruptImageFatalError:
9041694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorCorruptImage(message,nestedException);
90577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::CorruptImageWarning:
9061694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningCorruptImage(message,nestedException);
90777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DelegateError:
90877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DelegateFatalError:
9091694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorDelegate(message,nestedException);
91077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DelegateWarning:
9111694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningDelegate(message,nestedException);
91277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DrawError:
91377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DrawFatalError:
9141694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorDraw(message,nestedException);
91577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::DrawWarning:
9161694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningDraw(message,nestedException);
91777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::FileOpenError:
91877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::FileOpenFatalError:
9191694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorFileOpen(message,nestedException);
92077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::FileOpenWarning:
9211694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningFileOpen(message,nestedException);
92277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ImageError:
92377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ImageFatalError:
9241694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorImage(message,nestedException);
92577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ImageWarning:
9261694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningImage(message,nestedException);
92777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MissingDelegateError:
92877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MissingDelegateFatalError:
9291694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorMissingDelegate(message,nestedException);
93077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MissingDelegateWarning:
9311694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningMissingDelegate(message,nestedException);
93277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ModuleError:
93377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ModuleFatalError:
9341694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorModule(message,nestedException);
93577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ModuleWarning:
9361694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningModule(message,nestedException);
93777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MonitorError:
93877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MonitorFatalError:
9391694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorMonitor(message,nestedException);
94077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::MonitorWarning:
9411694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningMonitor(message,nestedException);
94277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::OptionError:
94377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::OptionFatalError:
9441694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorOption(message,nestedException);
94577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::OptionWarning:
9461694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningOption(message,nestedException);
94777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::PolicyWarning:
9481694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningPolicy(message,nestedException);
94977328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::PolicyError:
95077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::PolicyFatalError:
9511694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorPolicy(message,nestedException);
95277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::RegistryError:
95377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::RegistryFatalError:
9541694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorRegistry(message,nestedException);
95577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::RegistryWarning:
9561694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningRegistry(message,nestedException);
95777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ResourceLimitError:
95877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ResourceLimitFatalError:
9591694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorResourceLimit(message,nestedException);
96077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::ResourceLimitWarning:
9611694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningResourceLimit(message,nestedException);
96277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::StreamError:
96377328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::StreamFatalError:
9641694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorStream(message,nestedException);
96577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::StreamWarning:
9661694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningStream(message,nestedException);
96777328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::TypeError:
96877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::TypeFatalError:
9691694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorType(message,nestedException);
97077328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::TypeWarning:
9711694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningType(message,nestedException);
97277328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::UndefinedException:
9736f15d82aec290f076ce634e702d0f708526ea366dirk    default:
9741694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorUndefined(message,nestedException);
97577328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::XServerError:
97677328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::XServerFatalError:
9771694921b43fae47089dd97243009e5e781f2a597dirk      throw ErrorXServer(message,nestedException);
97877328896b876314656427663695bc7b2c9be3f74dirk    case MagickCore::XServerWarning:
9791694921b43fae47089dd97243009e5e781f2a597dirk      throw WarningXServer(message,nestedException);
9803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy    }
9816f15d82aec290f076ce634e702d0f708526ea366dirk}