6#ifndef __CXX_Exception_h
7#define __CXX_Exception_h
11#include "IndirectPythonInterface.h"
19 class ExtensionExceptionType;
24 Exception( ExtensionExceptionType &exception, const std::string& reason );
29 Exception ( const std::string& reason)
31 PyErr_SetString (Py::_Exc_RuntimeError(), reason.c_str());
34 Exception (PyObject* exception, const std::string& reason)
36 PyErr_SetString (exception, reason.c_str());
49 class StandardError: public Exception
52 explicit StandardError()
56 class LookupError: public StandardError
59 explicit LookupError()
63 class ArithmeticError: public StandardError
66 explicit ArithmeticError()
70 class EnvironmentError: public StandardError
73 explicit EnvironmentError()
79 class TypeError: public StandardError
82 TypeError ( const std::string& reason)
85 PyErr_SetString (Py::_Exc_TypeError(),reason.c_str());
89 class IndexError: public LookupError
92 IndexError ( const std::string& reason)
95 PyErr_SetString (Py::_Exc_IndexError(), reason.c_str());
99 class AttributeError: public StandardError
102 AttributeError ( const std::string& reason)
105 PyErr_SetString (Py::_Exc_AttributeError(), reason.c_str());
109 class NameError: public StandardError
112 NameError ( const std::string& reason)
115 PyErr_SetString (Py::_Exc_NameError(), reason.c_str());
119 class RuntimeError: public StandardError
122 RuntimeError ( const std::string& reason)
125 PyErr_SetString (Py::_Exc_RuntimeError(), reason.c_str());
129 class SystemError: public StandardError
132 SystemError ( const std::string& reason)
135 PyErr_SetString (Py::_Exc_SystemError(),reason.c_str());
139 class KeyError: public LookupError
142 KeyError ( const std::string& reason)
145 PyErr_SetString (Py::_Exc_KeyError(),reason.c_str());
150 class ValueError: public StandardError
153 ValueError ( const std::string& reason)
156 PyErr_SetString (Py::_Exc_ValueError(), reason.c_str());
160 class OverflowError: public ArithmeticError
163 OverflowError ( const std::string& reason)
166 PyErr_SetString (Py::_Exc_OverflowError(), reason.c_str());
170 class ZeroDivisionError: public ArithmeticError
173 ZeroDivisionError ( const std::string& reason)
176 PyErr_SetString (Py::_Exc_ZeroDivisionError(), reason.c_str());
180 class FloatingPointError: public ArithmeticError
183 FloatingPointError ( const std::string& reason)
186 PyErr_SetString (Py::_Exc_FloatingPointError(), reason.c_str());
190 class MemoryError: public StandardError
193 MemoryError ( const std::string& reason)
196 PyErr_SetString (Py::_Exc_MemoryError(), reason.c_str());
200 class SystemExit: public StandardError
203 SystemExit ( const std::string& reason)
206 PyErr_SetString (Py::_Exc_SystemExit(),reason.c_str());
|