X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmException.h;h=0be44e78c990f6a5231ecf571047383eabd2e76e;hb=327dfe7647e3720b0f3125f9b19397cb9afc0ed3;hp=95d9a3c56115ee3b6fc85c2ccdc450b9d7d84fa4;hpb=2012716d624d631dcdb825fdd4470908e115a717;p=gdcm.git diff --git a/src/gdcmException.h b/src/gdcmException.h index 95d9a3c5..0be44e78 100644 --- a/src/gdcmException.h +++ b/src/gdcmException.h @@ -3,12 +3,12 @@ Program: gdcm Module: $RCSfile: gdcmException.h,v $ Language: C++ - Date: $Date: 2004/06/20 18:08:47 $ - Version: $Revision: 1.13 $ + Date: $Date: 2005/01/06 20:03:27 $ + Version: $Revision: 1.20 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or - http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details. + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR @@ -20,15 +20,20 @@ #define GDCM_EXCEPTION_H #include "gdcmCommon.h" + #include #include #include +namespace gdcm +{ + //----------------------------------------------------------------------------- /* * Any exception thrown in the gdcm library */ -class GDCM_EXPORT gdcmException : public std::exception { +class GDCM_EXPORT Exception : public std::exception +{ public: /* * Builds an exception with minimal information: name of the thrower @@ -37,21 +42,20 @@ public: * @param from name of the thrower * @param error error description string */ - explicit gdcmException(const std::string &from, const std::string &error = "") - throw(); + explicit Exception(const std::string &from, const std::string &error = "") + throw(); /** * \brief virtual destructor makes this class dynamic */ - virtual ~gdcmException() throw() { - } + virtual ~Exception() throw() {}; /// exception caught within exception class: print error message and die static void fatal(const char *from) throw(); /// returns error message - const std::string &getError(void) const throw() { - return error; + const std::string &getError() const throw() { + return Error; } /// try to discover this (dynamic) class name @@ -59,19 +63,19 @@ public: /// returns exception name string (overloads std::exception::what) virtual const char *what() const throw() { - return (const char *) *this; + return (const char *) *this; } /// returns exception name string operator const char *() const throw(); - friend std::ostream& operator<<(std::ostream &os, const gdcmException &e); + friend std::ostream &operator<<(std::ostream &os, const Exception &e); protected: /// error message part 1 - std::string from; + std::string From; /// error message part 2 - std::string error; + std::string Error; }; @@ -79,7 +83,8 @@ protected: /* * File error exception thrown in the gdcm library */ -class GDCM_EXPORT gdcmFileError : public gdcmException { +class GDCM_EXPORT FileError : public Exception +{ public: /** * \brief Builds an file-related exception with minimal information: name of @@ -87,30 +92,42 @@ public: * @param from name of the thrower * @param error error description string */ - explicit gdcmFileError(const std::string &from, + explicit FileError(const std::string &from, const std::string &error = "File error") - throw() : gdcmException(from, error) { - } + throw() : Exception(from, error) { } }; //----------------------------------------------------------------------------- -/* - * Invalid file format exception +/** + * \brief Unexpected file format exception */ -class GDCM_EXPORT gdcmFormatError : public gdcmException { +class GDCM_EXPORT FormatUnexpected : public Exception +{ public: - /* - * Builds an file-related exception with minimal information: name of - * the thrower method and error message - * - * @param from name of the thrower - * @param error error description string - */ - explicit gdcmFormatError(const std::string &from, - const std::string &error = "Invalid file format error") - throw() : gdcmException(from, error) { - } + /// \brief Builds a file-related exception with minimal information: + /// name of the thrower method and error message + /// @param from name of the thrower + /// @param error error description string + explicit FormatUnexpected(const std::string &from, + const std::string &error = "Unexpected file format") + throw() : Exception( from, error ) { } +}; + +//----------------------------------------------------------------------------- +/** + * \brief Invalid file format exception + */ +class GDCM_EXPORT FormatError : public FormatUnexpected +{ +public: + /// \brief Builds a file-related exception with minimal information: + /// name of the thrower method and error message + /// @param from name of the thrower + /// @param error error description string + explicit FormatError(const std::string &from, + const std::string &error = "Invalid file format") + throw() : FormatUnexpected( from, error ) { } }; //----------------------------------------------------------------------------- @@ -119,7 +136,9 @@ public: * @param e exception to print * @returns output stream os */ -std::ostream& operator<<(std::ostream &os, const gdcmException &e); +std::ostream& operator<<(std::ostream &os, const Exception &e); + +} // end namespace gdcm //----------------------------------------------------------------------------- #endif // GDCM_EXCEPTION_H