begin process at 2012 05 29 06:44:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Exceptions


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Exceptions

jeudi 22 avril 2004 à 23:37:43 | Exceptions

messier79


Bonjour

J'essaie de definir mes propres exceptions. Pour celà, j'ai un fichier .h :

Code:
#ifndef EXCEPTION_H
#define EXCEPTION_H

#include <string>
#include <conio.h>

using namespace std;

class StandardException : public exception
{
protected :
string msg;

public:
StandardException() throw();
StandardException(const exception&) throw();
StandardException& operator=(const StandardException&) throw();
StandardException(string msgerr) throw();
virtual ~StandardException() throw();
virtual const char* what(void) const throw();
};

class InFileException : public StandardException
{
public:
InFileException(string);
};

class OutFileException : public StandardException
{
public:
OutFileException(string);
};

class MenuChoiceException : public StandardException
{
public:
MenuChoiceException(string);
};

#endif



Avec le fichier .cpp associe :

Code:
#include <string>
#include <conio.h>
#include "Exceptions.h"

using namespace std;

StandardException::StandardException()
{
// msg="\nUne Exception a ete soulevee.\n";
}

StandardException::StandardException(string msgerr)
{
msg=msgerr;
}

string StandardException::what()
{
return(msg);
}


InFileException::InFileException(string msgerr)
{
msg="Une erreur s'est produite a l'ouverture du fichier de donnees.\n";
msg+="Verifiez l'existence des fichiers passes en parametre et reessayez.\n";
msg+="Si le probleme persiste, contactez l'Administrateur.\n\n";
}

...



A la compilation, j'obtiens :
Code:

Exceptions.cpp:8: declaration of `StandardException::StandardException()'
throws different exceptions
Exceptions.h:15: than previous declaration `
StandardException::StandardException() throw ()'

Exceptions.cpp:13: declaration of `
StandardException::StandardException(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >)' throws different exceptions
Exceptions.h:18: than previous declaration `
StandardException::StandardException(std::basic_string<char,
std::char_traits<char>, std::allocator<char> >) throw ()'

Exceptions.cpp:18: prototype for `std::string StandardException::what()' does

not match any in class `StandardException'
Exceptions.h:20: candidate is: virtual const char* StandardException::what()
const


Que manque-t-il ?

Merci
vendredi 23 avril 2004 à 01:06:35 | Re : Exceptions

ymca2003

essaie de rajouter throw() également dans la définition des fct :

StandardException::StandardException() throw()
{
// msg="\nUne Exception a ete soulevee.\n";
}
vendredi 23 avril 2004 à 01:23:00 | Re : Exceptions

messier79

Ca marche mieux, mais maintenant, j'ai une erreur pour le destructeur :

Exceptions.h:10: looser throw specifier for `virtual

StandardException::~StandardException()'
vendredi 23 avril 2004 à 23:31:33 | Re : Exceptions

ymca2003

il ne veut peut-être pas de la clause Throw() pour un destructeur.
D'autre part, je ne vois pas à quoi servent ces clauses dans des fct vu qu'aucune d'entre elles ne génère une exception.


Cette discussion est classée dans : public, string, exceptions, throw, standardexception


Répondre à ce message

Sujets en rapport avec ce message

Utilisation d'une STRUCTURE en c# [ par cyberice67 ] Hello, j'ai un ch'tit problème : J'suis en c# :Je déclare ca ds ma partie public de ma classe :   public struct MaStructure   {    string Emetteur;  & Comment exécuter un programme C++ à partir d'une interface Java? [ par laurentdav ] Bonjour,Je commence à programmer en C++. J'ai écrit un programme Java, et je lance un programme C++. Ma question est la suivante une fois les variable Possibilité de contourner le spécificateur private ?!! [ par Chatbour ] Salut à tous et à toutes exécutez ce code et vous verrez que public_string pointe sur private_string : est-ce un bug dans C++ ? code testé sous Window Compiler un programme écrit en C++ utilisant une bibliothèque C. Erreurs... [ par Virus721 ] Bonjour tout le monde ! :) Voila j'essaye de me coder un petit jeu avec la bibliothèque SDL 1.2 et l'aide du site du zéro. J'essaye autant que possib Déclarer un String [ par scottmat ] Bonjour à tous, Maitrisant maintenant le VB & C#, je me mets sérieusement au C++, c’est toujours sympa de connaitre un autre langage Une petite quest bibliothèque string ( strcmp()) [ par loubna1906921 ] Bonjour je travaille un mini projet de C sur le ( dev C++), le problème c'est que j'arrive pas a utiliser les fonctionnalités de #include { tout ce qu reception signaux X10 (domotique) [ par bastien27100 ] Bonjour à tous, j'ai un projet à réalisé dans lequel je dois envoyer des commandes a des appareils par des signaux X10(courant porteur), avec CM15a re Liste de liste pour :graphe et algo de Prim [ par sbeclo007 ] // Liste de sommet class Liste_Sommet :public Liste,public Sommet { public: Liste_Sommet (){} void affiche(); Sommet& Sommet_courant(); void Sommet_pr lire chaîne ligne par ligne [ par mervat ] bonjour, je veux lire une chaîne (std::string) ligne par ligne, j'ai pas pu le faire avec std::getline car ça marche avec les fichiers (std::ifstream) Conversion d'un vecteur en chaine String [ par 972apprenti ] Bonjour, j'ai creer un code C++ qui me permet de lire un fichier en utilisant un vecteur, le probleme c'est que je voudrais convertir ce vecteur en un


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales