Quick links: Tutorial - Examples - Files - Symbols.
Classes: Hierarchy - Index - List - Members.
Namespaces: Index - base - cs - display.

Public Member Functions | Public Attributes | List of all members
cogitant::ExceptionInputLexeme Class Reference

Exception due à un problème de format non respecté : un lexeme attendu n'a pas été trouvé. More...

#include "cogitant/iomisc.h"

Inheritance diagram for cogitant::ExceptionInputLexeme:
cogitant::ExceptionIO cogitant::Exception

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::Lexemem_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...
 

Detailed Description

Exception due à un problème de format non respecté : un lexeme attendu n'a pas été trouvé.

Constructor & Destructor Documentation

◆ ExceptionInputLexeme()

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.

Member Function Documentation

◆ toString()

std::string cogitant::ExceptionInputLexeme::toString ( ) const
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.

Member Data Documentation

◆ m_expected

std::vector<IStream::Lexeme> cogitant::ExceptionInputLexeme::m_expected

Ce qui était attendu.

◆ m_expecteds

std::vector<std::string> cogitant::ExceptionInputLexeme::m_expecteds

Ce qui était attendu sous la forme de chaines de caractères.

◆ m_found

IStream::Lexeme cogitant::ExceptionInputLexeme::m_found

Ce qui a été lu.

◆ m_founds

std::string cogitant::ExceptionInputLexeme::m_founds

Ce qui a été lu sous la forme d'une chaine de caractères.