GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — python/src/errors.cpp at 366ee6d24b6c88f93fe9945eb06eba3f0bf30102 · ssam18/python Expand file tree/ Copy patherrors.cppMore file actions 76 lines (62 loc) · 1.74 KB / Copy patherrors.cppFile metadata and controls76 lines (62 loc) · 1.74 KB 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 // Copyright David Abrahams 2001. Permission to copy, use, // modify, sell and distribute this software is granted provided this // copyright notice appears in all copies. This software is provided // "as is" without express or implied warranty, and with no claim as // to its suitability for any purpose. #ifndef BOOST_PYTHON_SOURCE # define BOOST_PYTHON_SOURCE #endif #include <boost/python/errors.hpp> #include <boost/cast.hpp> namespace boost { namespace python { // IMPORTANT: this function may only be called from within a catch block! BOOST_PYTHON_DECL bool handle_exception_impl(function0<void> f) { try { f(); return false; } catch(const boost::python::error_already_set&) { // The python error reporting has already been handled. } catch(const std::bad_alloc&) { PyErr_NoMemory(); } catch(const bad_numeric_cast& x) { PyErr_SetString(PyExc_OverflowError, x.what()); } catch(const std::exception& x) { PyErr_SetString(PyExc_RuntimeError, x.what()); } catch(...) { PyErr_SetString(PyExc_RuntimeError, "unidentifiable C++ exception"); } return true; } void BOOST_PYTHON_DECL throw_argument_error() { throw argument_error(); } void BOOST_PYTHON_DECL throw_error_already_set() { throw error_already_set(); } namespace detail { BOOST_PYTHON_DECL void expect_complex(PyObject* p) { if (!PyComplex_Check(p)) { PyErr_SetString(PyExc_TypeError, "expected a complex number"); boost::python::throw_argument_error(); } } // needed by void_adaptor (see void_adaptor.hpp) BOOST_PYTHON_DECL PyObject arbitrary_object = { 0 }; } // namespace boost::python::detail }} // namespace boost::python |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |