summaryrefslogtreecommitdiff
path: root/2003/i/buzz/src/erreur/erreur.h
blob: be7d44551e2a831bcc65fd833e5ebdfbf060eae0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#ifndef erreur_h
#define erreur_h
// erreur.h
// buzz - Programme du robot Efrei Robotique I1-I2 2003
// Copyright (C) 2003 Nicolas Schodet

#include <exception>

class Erreur : public std::exception
{
  public:
    // Retourne une description de l'erreur.
    virtual const char *what () const;
};

class ErreurFatale : public Erreur
{
    const char *m_descr;
  public:
    ErreurFatale (const char *descr) { m_descr = descr; }
    virtual const char *what () const;
};

class ErreurConfig : public Erreur
{
    const char *m_file;
    const char *m_id;
    const char *m_descr;
  public:
    ErreurConfig (const char *file, const char *id,
		  const char *descr)
      { m_file = file; m_id = id; m_descr = descr; }
    ErreurConfig (const char *file, const char *descr)
      { m_file = file; m_id = 0; m_descr = descr; }
    virtual const char *what () const;
};


#endif // erreur_h