Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5496 leency 1
// Standard exception classes  -*- C++ -*-
2
 
3
// Copyright (C) 2001 Free Software Foundation, Inc.
4
//
5
// This file is part of the GNU ISO C++ Library.  This library is free
6
// software; you can redistribute it and/or modify it under the
7
// terms of the GNU General Public License as published by the
8
// Free Software Foundation; either version 2, or (at your option)
9
// any later version.
10
 
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
// GNU General Public License for more details.
15
 
16
// You should have received a copy of the GNU General Public License along
17
// with this library; see the file COPYING.  If not, write to the Free
18
// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19
// USA.
20
 
21
// As a special exception, you may use this file as part of a free software
22
// library without restriction.  Specifically, if other files instantiate
23
// templates or use macros or inline functions from this file, or you compile
24
// this file and link it with other files to produce an executable, this
25
// file does not by itself cause the resulting executable to be covered by
26
// the GNU General Public License.  This exception does not however
27
// invalidate any other reasons why the executable file might be covered by
28
// the GNU General Public License.
29
 
30
//
31
// ISO C++ 19.1  Exception classes
32
//
33
 
34
#ifndef _CPP_STDEXCEPT
35
#define _CPP_STDEXCEPT 	  1
36
 
37
#pragma GCC system_header
38
 
39
#include 
40
#include 
41
 
42
namespace std
43
{
44
  class logic_error : public exception
45
  {
46
    string _M_msg;
47
 
48
  public:
49
    explicit
50
    logic_error(const string&  __arg);
51
 
52
    virtual
53
    ~logic_error() throw();
54
 
55
    virtual const char*
56
    what() const throw();
57
  };
58
 
59
  class domain_error : public logic_error
60
  {
61
  public:
62
    explicit domain_error(const string&  __arg);
63
  };
64
 
65
  class invalid_argument : public logic_error
66
  {
67
  public:
68
    explicit invalid_argument(const string&  __arg);
69
  };
70
 
71
  class length_error : public logic_error
72
  {
73
  public:
74
    explicit length_error(const string&  __arg);
75
  };
76
 
77
  class out_of_range : public logic_error
78
  {
79
  public:
80
    explicit out_of_range(const string&  __arg);
81
  };
82
 
83
  class runtime_error : public exception
84
  {
85
    string _M_msg;
86
 
87
  public:
88
    explicit
89
    runtime_error(const string&  __arg);
90
 
91
    virtual
92
    ~runtime_error() throw();
93
 
94
    virtual const char*
95
    what() const throw();
96
  };
97
 
98
  class range_error : public runtime_error
99
  {
100
  public:
101
    explicit range_error(const string&  __arg);
102
  };
103
 
104
  class overflow_error : public runtime_error
105
  {
106
  public:
107
    explicit overflow_error(const string&  __arg);
108
  };
109
 
110
  class underflow_error : public runtime_error
111
  {
112
  public:
113
    explicit underflow_error(const string&  __arg);
114
  };
115
} // namespace std
116
 
117
#endif // _CPP_STDEXCEPT