99 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| /**
 | |
|  *
 | |
|  * @file    cexception.h
 | |
|  *
 | |
|  * @authors M. Laporte, D. Mathieu
 | |
|  *
 | |
|  * @date    23/03/2010
 | |
|  *
 | |
|  * @version V1.0
 | |
|  *
 | |
|  * @brief   Declaration de la classe CException
 | |
|  *
 | |
|  * @version V1.1
 | |
|  *
 | |
|  * @author Alexandre Sollier
 | |
|  *
 | |
|  * @brief Ajout de la documentation
 | |
|  *
 | |
|  **/
 | |
| 
 | |
| #ifndef CEXCEPTION_H
 | |
| #define CEXCEPTION_H
 | |
| 
 | |
| #include <string>
 | |
| #include <iostream>
 | |
| #include <exception>
 | |
| 
 | |
| #include "../tools/ieditable.h"
 | |
| #include "errcode.h"
 | |
| 
 | |
| /**
 | |
|  * @namespace nsException
 | |
|  * @brief Espace de nom pour la gestion d'exceptions
 | |
|  */
 | |
| namespace nsException
 | |
| {
 | |
| 
 | |
| /**
 | |
|  * @class CException
 | |
|  * @brief Classe pour créer des exceptions facilement
 | |
|  */
 | |
| class CException : public std::exception, public nsUtil::IEditable
 | |
| {
 | |
| 
 | |
| public :
 | |
|     /**
 | |
|      * @brief Constructeur pour la classe CException
 | |
|      * @param[in] Libelle : Libellé de l'exception
 | |
|      * @param[in] CodErr : Code erreur de l'exception
 | |
|      * @fn CException(const std::string& Libelle = std::string(), const unsigned CodErr = KNoExc);
 | |
|      */
 | |
|     CException(const std::string& Libelle = std::string(), const unsigned CodErr = KNoExc);
 | |
| 
 | |
|     /**
 | |
|      * @brief Destructeur virtuel pour la classe CException
 | |
|      * @fn virtual ~CException() override = default;
 | |
|      */
 | |
|     virtual ~CException() override = default;
 | |
| 
 | |
|     /**
 | |
|      * @brief Récupère le libellé de l'exception
 | |
|      * @fn const std::string& GetLibelle() const;
 | |
|      */
 | |
|     const std::string& GetLibelle() const;
 | |
| 
 | |
|     /**
 | |
|      * @brief Récupère le code erreur de l'exception
 | |
|      * @fn unsigned GetCodErr() const;
 | |
|      */
 | |
|     unsigned GetCodErr() const;
 | |
| 
 | |
|     /**
 | |
|      * @brief Retourne une chaine de caractère C décrivant l'exception
 | |
|      * @fn virtual const char* what() const noexcept override;
 | |
|      */
 | |
|     virtual const char* what() const noexcept override;
 | |
| 
 | |
| protected :
 | |
|     virtual std::ostream& _Edit(std::ostream& os = std::cerr) const override;
 | |
| 
 | |
|     /**
 | |
|      * @brief m_Libelle : Libellé de l'exception
 | |
|      */
 | |
|     std::string m_Libelle;
 | |
| 
 | |
|     /**
 | |
|      * @brief m_CodErr : Code erreur de l'exception
 | |
|      */
 | |
|     unsigned m_CodErr;
 | |
| 
 | |
| }; // class CException
 | |
|     
 | |
| } // namespace nsException
 | |
| 
 | |
| #include "cexception.hpp"
 | |
| 
 | |
| #endif // CEXCEPTION_H
 | |
| 
 |