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// Definition of Magick::Exception and derived classes 73ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// Magick::Warning* and Magick::Error*. Derived from C++ STD 83ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 'exception' class for convenience. 93ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// These classes form part of the Magick++ user interface. 113ed852eea50f9d4cd633efb8c2b054b8e33c253cristy// 123ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#if !defined(Magick_Exception_header) 143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#define Magick_Exception_header 153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 163ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include "Magick++/Include.h" 173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <string> 183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#include <exception> 193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 203ed852eea50f9d4cd633efb8c2b054b8e33c253cristynamespace Magick 213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy{ 226f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport Exception: public std::exception 233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 256f15d82aec290f076ce634e702d0f708526ea366dirk 266f15d82aec290f076ce634e702d0f708526ea366dirk // Construct with message string 276f15d82aec290f076ce634e702d0f708526ea366dirk Exception(const std::string& what_); 286f15d82aec290f076ce634e702d0f708526ea366dirk 291694921b43fae47089dd97243009e5e781f2a597dirk // Construct with message string and nested exception 301694921b43fae47089dd97243009e5e781f2a597dirk Exception(const std::string& what_, Exception* nested_); 311694921b43fae47089dd97243009e5e781f2a597dirk 326f15d82aec290f076ce634e702d0f708526ea366dirk // Copy constructor 336f15d82aec290f076ce634e702d0f708526ea366dirk Exception(const Exception& original_); 346f15d82aec290f076ce634e702d0f708526ea366dirk 356f15d82aec290f076ce634e702d0f708526ea366dirk // Destructor 366f15d82aec290f076ce634e702d0f708526ea366dirk virtual ~Exception() throw(); 376f15d82aec290f076ce634e702d0f708526ea366dirk 386f15d82aec290f076ce634e702d0f708526ea366dirk // Assignment operator 396f15d82aec290f076ce634e702d0f708526ea366dirk Exception& operator=(const Exception& original_); 406f15d82aec290f076ce634e702d0f708526ea366dirk 416f15d82aec290f076ce634e702d0f708526ea366dirk // Get string identifying exception 426f15d82aec290f076ce634e702d0f708526ea366dirk virtual const char* what() const throw(); 433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 441694921b43fae47089dd97243009e5e781f2a597dirk // Get nested exception 451694921b43fae47089dd97243009e5e781f2a597dirk const Exception* nested() const throw(); 461694921b43fae47089dd97243009e5e781f2a597dirk 471694921b43fae47089dd97243009e5e781f2a597dirk ////////////////////////////////////////////////////////////////////// 481694921b43fae47089dd97243009e5e781f2a597dirk // 491694921b43fae47089dd97243009e5e781f2a597dirk // No user-serviceable parts beyond this point 501694921b43fae47089dd97243009e5e781f2a597dirk // 511694921b43fae47089dd97243009e5e781f2a597dirk ////////////////////////////////////////////////////////////////////// 521694921b43fae47089dd97243009e5e781f2a597dirk 531694921b43fae47089dd97243009e5e781f2a597dirk void nested(Exception* nested_) throw(); 541694921b43fae47089dd97243009e5e781f2a597dirk 553ed852eea50f9d4cd633efb8c2b054b8e33c253cristy private: 563ed852eea50f9d4cd633efb8c2b054b8e33c253cristy std::string _what; 571694921b43fae47089dd97243009e5e781f2a597dirk Exception* _nested; 583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 603ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // 616f15d82aec290f076ce634e702d0f708526ea366dirk // Error exceptions 623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // 633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 646f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport Error: public Exception 653ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 676f15d82aec290f076ce634e702d0f708526ea366dirk explicit Error(const std::string& what_); 681694921b43fae47089dd97243009e5e781f2a597dirk explicit Error(const std::string& what_,Exception *nested_); 696f15d82aec290f076ce634e702d0f708526ea366dirk ~Error() throw(); 703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 716f15d82aec290f076ce634e702d0f708526ea366dirk 726f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorBlob: public Error 733ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 756f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorBlob(const std::string& what_); 761694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorBlob(const std::string& what_,Exception *nested_); 776f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorBlob() throw(); 783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 806f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorCache: public Error 813ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 836f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorCache(const std::string& what_); 841694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorCache(const std::string& what_,Exception *nested_); 856f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorCache() throw(); 863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 886f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorCoder: public Error 893ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 916f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorCoder(const std::string& what_); 921694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorCoder(const std::string& what_,Exception *nested_); 936f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorCoder() throw(); 943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 966f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorConfigure: public Error 973ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 996f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorConfigure(const std::string& what_); 1001694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorConfigure(const std::string& what_,Exception *nested_); 1016f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorConfigure() throw(); 1023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1046f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorCorruptImage: public Error 1053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1076f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorCorruptImage(const std::string& what_); 1081694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorCorruptImage(const std::string& what_,Exception *nested_); 1096f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorCorruptImage() throw(); 1103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1116f15d82aec290f076ce634e702d0f708526ea366dirk 1126f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorDelegate: public Error 1133ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1156f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorDelegate(const std::string& what_); 1161694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorDelegate(const std::string& what_,Exception *nested_); 1176f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorDelegate() throw(); 1183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1196f15d82aec290f076ce634e702d0f708526ea366dirk 1206f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorDraw: public Error 1213ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1236f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorDraw(const std::string& what_); 1241694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorDraw(const std::string& what_,Exception *nested_); 1256f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorDraw() throw(); 1263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1286f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorFileOpen: public Error 1293ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1316f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorFileOpen(const std::string& what_); 1321694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorFileOpen(const std::string& what_,Exception *nested_); 1336f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorFileOpen() throw(); 1343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1366f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorImage: public Error 1373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1396f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorImage(const std::string& what_); 1401694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorImage(const std::string& what_,Exception *nested_); 1416f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorImage() throw(); 1423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1446f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorMissingDelegate: public Error 1453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1476f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorMissingDelegate(const std::string& what_); 1481694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorMissingDelegate(const std::string& what_,Exception *nested_); 1496f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorMissingDelegate() throw(); 1503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1526f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorModule: public Error 1533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1556f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorModule(const std::string& what_); 1561694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorModule(const std::string& what_,Exception *nested_); 1576f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorModule() throw(); 1583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1606f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorMonitor: public Error 1613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1636f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorMonitor(const std::string& what_); 1641694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorMonitor(const std::string& what_,Exception *nested_); 1656f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorMonitor() throw(); 1663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1686f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorOption: public Error 1693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1716f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorOption(const std::string& what_); 1721694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorOption(const std::string& what_,Exception *nested_); 1736f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorOption() throw(); 1743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 176caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk class MagickPPExport ErrorPolicy: public Error 177caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk { 178caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk public: 179caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk explicit ErrorPolicy(const std::string& what_); 1801694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorPolicy(const std::string& what_,Exception *nested_); 181caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk ~ErrorPolicy() throw(); 182caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk }; 183caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk 1846f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorRegistry: public Error 1853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1876f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorRegistry(const std::string& what_); 1881694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorRegistry(const std::string& what_,Exception *nested_); 1896f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorRegistry() throw(); 1903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 1926f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorResourceLimit: public Error 1933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 1943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 1956f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorResourceLimit(const std::string& what_); 1961694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorResourceLimit(const std::string& what_,Exception *nested_); 1976f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorResourceLimit() throw(); 1983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 1993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2006f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorStream: public Error 2013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2036f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorStream(const std::string& what_); 2041694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorStream(const std::string& what_,Exception *nested_); 2056f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorStream() throw(); 2063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2086f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorType: public Error 2093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2116f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorType(const std::string& what_); 2121694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorType(const std::string& what_,Exception *nested_); 2136f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorType() throw(); 2143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2166f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorUndefined: public Error 2173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2196f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorUndefined(const std::string& what_); 2201694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorUndefined(const std::string& what_,Exception *nested_); 2216f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorUndefined() throw(); 2223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2236f15d82aec290f076ce634e702d0f708526ea366dirk 2246f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport ErrorXServer: public Error 2253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2276f15d82aec290f076ce634e702d0f708526ea366dirk explicit ErrorXServer(const std::string& what_); 2281694921b43fae47089dd97243009e5e781f2a597dirk explicit ErrorXServer(const std::string& what_,Exception *nested_); 2296f15d82aec290f076ce634e702d0f708526ea366dirk ~ErrorXServer() throw(); 2303ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // 2336f15d82aec290f076ce634e702d0f708526ea366dirk // Warnings 2343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // 2353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2366f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport Warning: public Exception 2373ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2383ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2396f15d82aec290f076ce634e702d0f708526ea366dirk explicit Warning(const std::string& what_); 2401694921b43fae47089dd97243009e5e781f2a597dirk explicit Warning(const std::string& what_,Exception *nested_); 2416f15d82aec290f076ce634e702d0f708526ea366dirk ~Warning() throw(); 2423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2446f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningBlob: public Warning 2453ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2463ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2476f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningBlob(const std::string& what_); 2481694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningBlob(const std::string& what_,Exception *nested_); 2496f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningBlob() throw(); 2503ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2513ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2526f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningCache: public Warning 2533ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2543ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2556f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningCache(const std::string& what_); 2561694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningCache(const std::string& what_,Exception *nested_); 2576f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningCache() throw(); 2583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2606f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningCoder: public Warning 2613ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2623ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2636f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningCoder(const std::string& what_); 2641694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningCoder(const std::string& what_,Exception *nested_); 2656f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningCoder() throw(); 2663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2686f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningConfigure: public Warning 2693ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2703ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2716f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningConfigure(const std::string& what_); 2721694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningConfigure(const std::string& what_,Exception *nested_); 2736f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningConfigure() throw(); 2743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2766f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningCorruptImage: public Warning 2773ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2783ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2796f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningCorruptImage(const std::string& what_); 2801694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningCorruptImage(const std::string& what_,Exception *nested_); 2816f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningCorruptImage() throw(); 2823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 2846f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningDelegate: public Warning 2853ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2863ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2876f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningDelegate(const std::string& what_); 2881694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningDelegate(const std::string& what_,Exception *nested_); 2896f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningDelegate() throw(); 2903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2916f15d82aec290f076ce634e702d0f708526ea366dirk 2926f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningDraw : public Warning 2933ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 2943ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 2956f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningDraw(const std::string& what_); 2961694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningDraw(const std::string& what_,Exception *nested_); 2976f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningDraw() throw(); 2983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 2996f15d82aec290f076ce634e702d0f708526ea366dirk 3006f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningFileOpen: public Warning 3013ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3023ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3036f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningFileOpen(const std::string& what_); 3041694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningFileOpen(const std::string& what_,Exception *nested_); 3056f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningFileOpen() throw(); 3063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3086f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningImage: public Warning 3093ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3103ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3116f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningImage(const std::string& what_); 3121694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningImage(const std::string& what_,Exception *nested_); 3136f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningImage() throw(); 3143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3153ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3166f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningMissingDelegate: public Warning 3173ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3196f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningMissingDelegate(const std::string& what_); 3201694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningMissingDelegate(const std::string& what_, 3211694921b43fae47089dd97243009e5e781f2a597dirk Exception *nested_); 3226f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningMissingDelegate() throw(); 3233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3256f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningModule: public Warning 3263ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3273ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3286f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningModule(const std::string& what_); 3291694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningModule(const std::string& what_,Exception *nested_); 3306f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningModule() throw(); 3313ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3323ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3336f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningMonitor: public Warning 3343ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3353ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3366f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningMonitor(const std::string& what_); 3371694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningMonitor(const std::string& what_,Exception *nested_); 3386f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningMonitor() throw(); 3393ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3403ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3416f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningOption: public Warning 3423ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3433ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3446f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningOption(const std::string& what_); 3451694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningOption(const std::string& what_,Exception *nested_); 3466f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningOption() throw(); 3473ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3483ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 349caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk class MagickPPExport WarningPolicy: public Warning 350caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk { 351caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk public: 352caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk explicit WarningPolicy(const std::string& what_); 3531694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningPolicy(const std::string& what_,Exception *nested_); 354caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk ~WarningPolicy() throw(); 355caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk }; 356caa4d7415dc03d49be07b829bdbae58bc8f76a33dirk 3576f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningRegistry: public Warning 3583ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3593ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3606f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningRegistry(const std::string& what_); 3611694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningRegistry(const std::string& what_,Exception *nested_); 3626f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningRegistry() throw(); 3633ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3643ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3656f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningResourceLimit: public Warning 3663ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3673ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3686f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningResourceLimit(const std::string& what_); 3691694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningResourceLimit(const std::string& what_,Exception *nested_); 3706f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningResourceLimit() throw(); 3713ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3723ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3736f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningStream: public Warning 3743ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3753ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3766f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningStream(const std::string& what_); 3771694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningStream(const std::string& what_,Exception *nested_); 3786f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningStream() throw(); 3793ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3803ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3816f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningType: public Warning 3823ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3833ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3846f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningType(const std::string& what_); 3851694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningType(const std::string& what_,Exception *nested_); 3866f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningType() throw(); 3873ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3883ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 3896f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningUndefined: public Warning 3903ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3913ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 3926f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningUndefined(const std::string& what_); 3931694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningUndefined(const std::string& what_,Exception *nested_); 3946f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningUndefined() throw(); 3953ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 3966f15d82aec290f076ce634e702d0f708526ea366dirk 3976f15d82aec290f076ce634e702d0f708526ea366dirk class MagickPPExport WarningXServer: public Warning 3983ed852eea50f9d4cd633efb8c2b054b8e33c253cristy { 3993ed852eea50f9d4cd633efb8c2b054b8e33c253cristy public: 4006f15d82aec290f076ce634e702d0f708526ea366dirk explicit WarningXServer(const std::string& what_); 4011694921b43fae47089dd97243009e5e781f2a597dirk explicit WarningXServer(const std::string& what_,Exception *nested_); 4026f15d82aec290f076ce634e702d0f708526ea366dirk ~WarningXServer() throw(); 4033ed852eea50f9d4cd633efb8c2b054b8e33c253cristy }; 4043ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4053ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // 4063ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // No user-serviceable components beyond this point. 4073ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // 4083ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4091694921b43fae47089dd97243009e5e781f2a597dirk std::string formatExceptionMessage( 4101694921b43fae47089dd97243009e5e781f2a597dirk const MagickCore::ExceptionInfo *exception_); 4111694921b43fae47089dd97243009e5e781f2a597dirk 4121694921b43fae47089dd97243009e5e781f2a597dirk Exception* createException(const MagickCore::ExceptionInfo *exception_); 4131694921b43fae47089dd97243009e5e781f2a597dirk 4143ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Throw exception based on raw data 4156f15d82aec290f076ce634e702d0f708526ea366dirk extern MagickPPExport void throwExceptionExplicit( 4166f15d82aec290f076ce634e702d0f708526ea366dirk const MagickCore::ExceptionType severity_,const char* reason_, 4176f15d82aec290f076ce634e702d0f708526ea366dirk const char* description_=(char *) NULL); 4183ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4193ed852eea50f9d4cd633efb8c2b054b8e33c253cristy // Thow exception based on ImageMagick's ExceptionInfo 4206f15d82aec290f076ce634e702d0f708526ea366dirk extern MagickPPExport void throwException( 421170ed0c49740abf48dfcd2938532241fb760e910dirk MagickCore::ExceptionInfo *exception_,const bool quiet_=false); 4223ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4233ed852eea50f9d4cd633efb8c2b054b8e33c253cristy} // namespace Magick 4243ed852eea50f9d4cd633efb8c2b054b8e33c253cristy 4253ed852eea50f9d4cd633efb8c2b054b8e33c253cristy#endif // Magick_Exception_header 426