Exception due à un problème de format non respecté : un lexeme attendu n'a pas été trouvé. More...
#include "cogitant/iomisc.h"
Public Member Functions | |
ExceptionInputLexeme (std::string const &streamname, IStream::Line line, IStream::Lexeme const &found, std::string const &founds, IStream::Lexeme const &expected1, std::string const &expected1s, IStream::Lexeme const &expected2=IStream::Lexeme(), std::string const &expected2s="", IStream::Lexeme const &expected3=IStream::Lexeme(), std::string const &expected3s="", IStream::Lexeme const &expected4=IStream::Lexeme(), std::string const &expected4s="", IStream::Lexeme const &expected5=IStream::Lexeme(), std::string const &expected5s="") | |
Constructeur. More... | |
std::string | toString () const |
Message d'erreur "en clair". More... | |
Public Member Functions inherited from cogitant::ExceptionIO | |
ExceptionIO (unsigned int t=NOTYPE) | |
Constructeur avec code d'erreur. More... | |
ExceptionIO (unsigned int t, std::string const &streamname, IStream::Line line=0, std::string const &what="") | |
Constructeur complet. More... | |
~ExceptionIO () throw () | |
Destructeur. More... | |
IStream::Line | line () const |
Ligne où l'erreur a été détectée. More... | |
std::string const & | streamName () const |
Ligne où l'erreur a été détectée. More... | |
Public Member Functions inherited from cogitant::Exception | |
const char * | what () const throw () |
Accès au message d'erreur selon la méthode standard de la bibliothèque C++. More... | |
std::string const & | message () const |
Accesseur au message d'erreur. More... | |
unsigned int | code () const |
Sous code d'erreur. More... | |
std::string | className () const |
Nom de la classe. More... | |
Exception (unsigned int code=0, std::string const &message="") | |
Constructeur d'une exception. More... | |
virtual | ~Exception () throw () |
Destructeur. More... | |
Public Attributes | |
IStream::Lexeme | m_found |
Ce qui a été lu. More... | |
std::string | m_founds |
Ce qui a été lu sous la forme d'une chaine de caractères. More... | |
std::vector< IStream::Lexeme > | m_expected |
Ce qui était attendu. More... | |
std::vector< std::string > | m_expecteds |
Ce qui était attendu sous la forme de chaines de caractères. More... | |
Public Attributes inherited from cogitant::ExceptionIO | |
std::string | m_streamname |
Nom du flux contenant l'erreur. More... | |
IStream::Line | m_line |
Ligne du flux contenant l'erreur. More... | |
Additional Inherited Members | |
Static Public Attributes inherited from cogitant::ExceptionIO | |
static const unsigned int | NOTYPE |
Type d'erreur E/S non défini. | |
static const unsigned int | OPEN |
Impossible d'ouvrir le fichier en lecture. | |
static const unsigned int | CREATE |
Impossible d'ouvrir le fichier en écriture. | |
static const unsigned int | READ |
Erreur lors de la lecture. | |
static const unsigned int | WRITE |
Erreur lors de l'écriture. | |
static const unsigned int | FORMAT |
Format inconnu. More... | |
static const unsigned int | HEADER |
Signature du format non reconnu. More... | |
static const unsigned int | CONNECT |
Erreur de connexion. | |
static const unsigned int | ENDOFSTREAM |
Tentative de lecture après la fin d'un flux. | |
static const unsigned int | CHECK |
Vérifications diverses. | |
Protected Member Functions inherited from cogitant::Exception | |
std::string | messageAsIdToString () const |
Convertit le message de l'exception en entête de string (pour toString()) en considérant le message comme un iSet. More... | |
Exception due à un problème de format non respecté : un lexeme attendu n'a pas été trouvé.
cogitant::ExceptionInputLexeme::ExceptionInputLexeme | ( | std::string const & | streamname, |
IStream::Line | line, | ||
IStream::Lexeme const & | found, | ||
std::string const & | founds, | ||
IStream::Lexeme const & | expected1, | ||
std::string const & | expected1s, | ||
IStream::Lexeme const & | expected2 = IStream::Lexeme() , |
||
std::string const & | expected2s = "" , |
||
IStream::Lexeme const & | expected3 = IStream::Lexeme() , |
||
std::string const & | expected3s = "" , |
||
IStream::Lexeme const & | expected4 = IStream::Lexeme() , |
||
std::string const & | expected4s = "" , |
||
IStream::Lexeme const & | expected5 = IStream::Lexeme() , |
||
std::string const & | expected5s = "" |
||
) |
Constructeur.
Noter que ce qui était attendu et ce qui a été lu doit être passé sour la forme de lexemes et de chaines de caractères car cela correspond à deux usages différents: on peut vouloir récupérer (par ex) le lexeme attendu, mais aussi afficher un message d'erreur, alors que le IStream correspondant a été détruit. Il faut donc mémoriser à la fois les lexemes et les "intitulés" de ces lexemes.
|
virtual |
Message d'erreur "en clair".
Par défaut toString() retourne le nom de la classe d'exceptions (className()) suivi du message.
Reimplemented from cogitant::ExceptionIO.
std::vector<IStream::Lexeme> cogitant::ExceptionInputLexeme::m_expected |
Ce qui était attendu.
std::vector<std::string> cogitant::ExceptionInputLexeme::m_expecteds |
Ce qui était attendu sous la forme de chaines de caractères.
IStream::Lexeme cogitant::ExceptionInputLexeme::m_found |
Ce qui a été lu.
std::string cogitant::ExceptionInputLexeme::m_founds |
Ce qui a été lu sous la forme d'une chaine de caractères.