OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc4/] [libstdc++-v3/] [include/] [std/] [stdexcept] - Blame information for rev 519

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 424 jeremybenn
// Standard exception classes  -*- C++ -*-
2
 
3
// Copyright (C) 2001, 2002, 2005, 2007, 2009 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 3, 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
// Under Section 7 of GPL version 3, you are granted additional
17
// permissions described in the GCC Runtime Library Exception, version
18
// 3.1, as published by the Free Software Foundation.
19
 
20
// You should have received a copy of the GNU General Public License and
21
// a copy of the GCC Runtime Library Exception along with this program;
22
// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23
// .
24
 
25
/** @file stdexcept
26
 *  This is a Standard C++ Library header.
27
 */
28
 
29
//
30
// ISO C++ 19.1  Exception classes
31
//
32
 
33
#ifndef _GLIBCXX_STDEXCEPT
34
#define _GLIBCXX_STDEXCEPT 1
35
 
36
#pragma GCC system_header
37
 
38
#include 
39
#include 
40
 
41
_GLIBCXX_BEGIN_NAMESPACE(std)
42
 
43
  /**
44
   * @addtogroup exceptions
45
   * @{
46
   */
47
 
48
  /** Logic errors represent problems in the internal logic of a program;
49
   *  in theory, these are preventable, and even detectable before the
50
   *  program runs (e.g., violations of class invariants).
51
   *  @brief One of two subclasses of exception.
52
   */
53
  class logic_error : public exception
54
  {
55
    string _M_msg;
56
 
57
  public:
58
    /** Takes a character string describing the error.  */
59
    explicit
60
    logic_error(const string& __arg);
61
 
62
    virtual
63
    ~logic_error() throw();
64
 
65
    /** Returns a C-style character string describing the general cause of
66
     *  the current error (the same string passed to the ctor).  */
67
    virtual const char*
68
    what() const throw();
69
  };
70
 
71
  /** Thrown by the library, or by you, to report domain errors (domain in
72
   *  the mathematical sense).  */
73
  class domain_error : public logic_error
74
  {
75
  public:
76
    explicit domain_error(const string& __arg);
77
  };
78
 
79
  /** Thrown to report invalid arguments to functions.  */
80
  class invalid_argument : public logic_error
81
  {
82
  public:
83
    explicit invalid_argument(const string& __arg);
84
  };
85
 
86
  /** Thrown when an object is constructed that would exceed its maximum
87
   *  permitted size (e.g., a basic_string instance).  */
88
  class length_error : public logic_error
89
  {
90
  public:
91
    explicit length_error(const string& __arg);
92
  };
93
 
94
  /** This represents an argument whose value is not within the expected
95
   *  range (e.g., boundary checks in basic_string).  */
96
  class out_of_range : public logic_error
97
  {
98
  public:
99
    explicit out_of_range(const string& __arg);
100
  };
101
 
102
  /** Runtime errors represent problems outside the scope of a program;
103
   *  they cannot be easily predicted and can generally only be caught as
104
   *  the program executes.
105
   *  @brief One of two subclasses of exception.
106
   */
107
  class runtime_error : public exception
108
  {
109
    string _M_msg;
110
 
111
  public:
112
    /** Takes a character string describing the error.  */
113
    explicit
114
    runtime_error(const string& __arg);
115
 
116
    virtual
117
    ~runtime_error() throw();
118
 
119
    /** Returns a C-style character string describing the general cause of
120
     *  the current error (the same string passed to the ctor).  */
121
    virtual const char*
122
    what() const throw();
123
  };
124
 
125
  /** Thrown to indicate range errors in internal computations.  */
126
  class range_error : public runtime_error
127
  {
128
  public:
129
    explicit range_error(const string& __arg);
130
  };
131
 
132
  /** Thrown to indicate arithmetic overflow.  */
133
  class overflow_error : public runtime_error
134
  {
135
  public:
136
    explicit overflow_error(const string& __arg);
137
  };
138
 
139
  /** Thrown to indicate arithmetic underflow.  */
140
  class underflow_error : public runtime_error
141
  {
142
  public:
143
    explicit underflow_error(const string& __arg);
144
  };
145
 
146
  // @} group exceptions
147
 
148
_GLIBCXX_END_NAMESPACE
149
 
150
#endif /* _GLIBCXX_STDEXCEPT */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.