// This may look like C code, but it is really -*- C++ -*- // // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003 // // Definition of Magick::Exception and derived classes // Magick::Warning* and Magick::Error*. Derived from C++ STD // 'exception' class for convenience. // // These classes form part of the Magick++ user interface. // #if !defined(Magick_Exception_header) #define Magick_Exception_header #include "Magick++/Include.h" #include #include namespace Magick { class MagickPPExport Exception : public std::exception { public: Exception( const std::string& what_ ); Exception( const Exception& original_ ); Exception& operator= (const Exception& original_ ); virtual const char* what () const throw(); virtual ~Exception ( ) throw (); private: std::string _what; }; // // Warnings // class MagickPPExport Warning : public Exception { public: explicit Warning ( const std::string& what_ ); ~Warning() throw (); }; class MagickPPExport WarningUndefined : public Warning { public: explicit WarningUndefined ( const std::string& what_ ); ~WarningUndefined() throw (); }; class MagickPPExport WarningBlob: public Warning { public: explicit WarningBlob ( const std::string& what_ ); ~WarningBlob() throw (); }; class MagickPPExport WarningCache: public Warning { public: explicit WarningCache ( const std::string& what_ ); ~WarningCache() throw (); }; class MagickPPExport WarningCoder: public Warning { public: explicit WarningCoder ( const std::string& what_ ); ~WarningCoder() throw (); }; class MagickPPExport WarningConfigure: public Warning { public: explicit WarningConfigure ( const std::string& what_ ); ~WarningConfigure() throw (); }; class MagickPPExport WarningCorruptImage: public Warning { public: explicit WarningCorruptImage ( const std::string& what_ ); ~WarningCorruptImage() throw (); }; class MagickPPExport WarningDelegate : public Warning { public: explicit WarningDelegate ( const std::string& what_ ); ~WarningDelegate() throw (); }; class MagickPPExport WarningDraw : public Warning { public: explicit WarningDraw ( const std::string& what_ ); ~WarningDraw() throw (); }; class MagickPPExport WarningFileOpen: public Warning { public: explicit WarningFileOpen ( const std::string& what_ ); ~WarningFileOpen() throw (); }; class MagickPPExport WarningImage: public Warning { public: explicit WarningImage ( const std::string& what_ ); ~WarningImage() throw (); }; class MagickPPExport WarningMissingDelegate : public Warning { public: explicit WarningMissingDelegate ( const std::string& what_ ); ~WarningMissingDelegate() throw (); }; class MagickPPExport WarningModule : public Warning { public: explicit WarningModule ( const std::string& what_ ); ~WarningModule() throw (); }; class MagickPPExport WarningMonitor : public Warning { public: explicit WarningMonitor ( const std::string& what_ ); ~WarningMonitor() throw (); }; class MagickPPExport WarningOption : public Warning { public: explicit WarningOption ( const std::string& what_ ); ~WarningOption() throw (); }; class MagickPPExport WarningRegistry : public Warning { public: explicit WarningRegistry ( const std::string& what_ ); ~WarningRegistry() throw (); }; class MagickPPExport WarningResourceLimit : public Warning { public: explicit WarningResourceLimit ( const std::string& what_ ); ~WarningResourceLimit() throw (); }; class MagickPPExport WarningStream : public Warning { public: explicit WarningStream ( const std::string& what_ ); ~WarningStream() throw (); }; class MagickPPExport WarningType : public Warning { public: explicit WarningType ( const std::string& what_ ); ~WarningType() throw (); }; class MagickPPExport WarningXServer : public Warning { public: explicit WarningXServer ( const std::string& what_ ); ~WarningXServer() throw (); }; // // Error exceptions // class MagickPPExport Error : public Exception { public: explicit Error ( const std::string& what_ ); ~Error() throw (); }; class MagickPPExport ErrorUndefined : public Error { public: explicit ErrorUndefined ( const std::string& what_ ); ~ErrorUndefined() throw (); }; class MagickPPExport ErrorBlob: public Error { public: explicit ErrorBlob ( const std::string& what_ ); ~ErrorBlob() throw (); }; class MagickPPExport ErrorCache: public Error { public: explicit ErrorCache ( const std::string& what_ ); ~ErrorCache() throw (); }; class MagickPPExport ErrorCoder: public Error { public: explicit ErrorCoder ( const std::string& what_ ); ~ErrorCoder() throw (); }; class MagickPPExport ErrorConfigure: public Error { public: explicit ErrorConfigure ( const std::string& what_ ); ~ErrorConfigure() throw (); }; class MagickPPExport ErrorCorruptImage: public Error { public: explicit ErrorCorruptImage ( const std::string& what_ ); ~ErrorCorruptImage() throw (); }; class MagickPPExport ErrorDelegate : public Error { public: explicit ErrorDelegate ( const std::string& what_ ); ~ErrorDelegate() throw (); }; class MagickPPExport ErrorDraw : public Error { public: explicit ErrorDraw ( const std::string& what_ ); ~ErrorDraw() throw (); }; class MagickPPExport ErrorFileOpen: public Error { public: explicit ErrorFileOpen ( const std::string& what_ ); ~ErrorFileOpen() throw (); }; class MagickPPExport ErrorImage: public Error { public: explicit ErrorImage ( const std::string& what_ ); ~ErrorImage() throw (); }; class MagickPPExport ErrorMissingDelegate : public Error { public: explicit ErrorMissingDelegate ( const std::string& what_ ); ~ErrorMissingDelegate() throw (); }; class MagickPPExport ErrorModule : public Error { public: explicit ErrorModule ( const std::string& what_ ); ~ErrorModule() throw (); }; class MagickPPExport ErrorMonitor : public Error { public: explicit ErrorMonitor ( const std::string& what_ ); ~ErrorMonitor() throw (); }; class MagickPPExport ErrorOption : public Error { public: explicit ErrorOption ( const std::string& what_ ); ~ErrorOption() throw (); }; class MagickPPExport ErrorRegistry : public Error { public: explicit ErrorRegistry ( const std::string& what_ ); ~ErrorRegistry() throw (); }; class MagickPPExport ErrorResourceLimit : public Error { public: explicit ErrorResourceLimit ( const std::string& what_ ); ~ErrorResourceLimit() throw (); }; class MagickPPExport ErrorStream : public Error { public: explicit ErrorStream ( const std::string& what_ ); ~ErrorStream() throw (); }; class MagickPPExport ErrorType : public Error { public: explicit ErrorType ( const std::string& what_ ); ~ErrorType() throw (); }; class MagickPPExport ErrorXServer : public Error { public: explicit ErrorXServer ( const std::string& what_ ); ~ErrorXServer() throw (); }; // // No user-serviceable components beyond this point. // // Throw exception based on raw data extern MagickPPExport void throwExceptionExplicit( const MagickCore::ExceptionType severity_, const char* reason_, const char* description_ = 0 ); // Thow exception based on ImageMagick's ExceptionInfo extern MagickPPExport void throwException( MagickCore::ExceptionInfo &exception_ ); } // namespace Magick #endif // Magick_Exception_header