X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmException.h;h=95d9a3c56115ee3b6fc85c2ccdc450b9d7d84fa4;hb=b49d7069fe20162182a1840fd06afd3351f50b3d;hp=094cd5682b9e55fd3651c447cb1e81ccf9335cde;hpb=15d7b1b38f5ddb59d395e0e4e3f9b0250eb90eec;p=gdcm.git diff --git a/src/gdcmException.h b/src/gdcmException.h index 094cd568..95d9a3c5 100644 --- a/src/gdcmException.h +++ b/src/gdcmException.h @@ -1,3 +1,21 @@ +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmException.h,v $ + Language: C++ + Date: $Date: 2004/06/20 18:08:47 $ + Version: $Revision: 1.13 $ + + 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. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ + #ifndef GDCM_EXCEPTION_H #define GDCM_EXCEPTION_H @@ -6,103 +24,102 @@ #include #include +//----------------------------------------------------------------------------- /* * Any exception thrown in the gdcm library */ class GDCM_EXPORT gdcmException : public std::exception { - protected: - /// error message - std::string from; - /// error message - std::string error; - - public: - /* - * Builds an exception with minimal information: name of the thrower - * method and error message - * - * @param from name of the thrower - * @param error error description string - */ - explicit gdcmException(const std::string &from, const std::string &error = "") +public: + /* + * Builds an exception with minimal information: name of the thrower + * method and error message + * + * @param from name of the thrower + * @param error error description string + */ + explicit gdcmException(const std::string &from, const std::string &error = "") throw(); - - - /* - * virtual destructor makes this class dynamic - */ - virtual ~gdcmException() throw() { - } - - /// returns error message - const std::string &getError(void) const throw() { - return error; - } - /// returns exception name string - operator const char *() const throw(); + /** + * \brief virtual destructor makes this class dynamic + */ + virtual ~gdcmException() throw() { + } - /// returns exception name string (overloads std::exception::what) - virtual const char *what() const throw() { - return (const char *) *this; - } + /// 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; + } - /// exception caught within exception class: print error message and die - static void fatal(const char *from) throw(); + /// try to discover this (dynamic) class name + virtual std::string getName() const throw(); - /// try to discover this (dynamic) class name - virtual std::string getName() const throw(); + /// returns exception name string (overloads std::exception::what) + virtual const char *what() const throw() { + return (const char *) *this; + } - friend std::ostream& operator<<(std::ostream &os, const gdcmException &e); - -}; + /// returns exception name string + operator const char *() const throw(); + friend std::ostream& operator<<(std::ostream &os, const gdcmException &e); -/* prints exception stack on output stream - * @param os output stream - * @param e exception to print - * @returns output stream os - */ -std::ostream& operator<<(std::ostream &os, const gdcmException &e); +protected: + /// error message part 1 + std::string from; + /// error message part 2 + std::string error; +}; +//----------------------------------------------------------------------------- /* * File error exception thrown in the gdcm library */ class GDCM_EXPORT gdcmFileError : public gdcmException { - 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 gdcmFileError(const std::string &from, - const std::string &error = "File error") - throw() : gdcmException(from, error) { - } +public: + /** + * \brief 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 gdcmFileError(const std::string &from, + const std::string &error = "File error") + throw() : gdcmException(from, error) { + } }; +//----------------------------------------------------------------------------- /* * Invalid file format exception */ class GDCM_EXPORT gdcmFormatError : public gdcmException { - 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) { - } +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) { + } }; +//----------------------------------------------------------------------------- +/* prints exception stack on output stream + * @param os output stream + * @param e exception to print + * @returns output stream os + */ +std::ostream& operator<<(std::ostream &os, const gdcmException &e); +//----------------------------------------------------------------------------- #endif // GDCM_EXCEPTION_H