| 96 | } |
| 97 | |
| 98 | std::tuple<handle<>, handle<>, handle<>> currentPythonException() |
| 99 | { |
| 100 | PyObject *exceptionPyObject, *valuePyObject, *tracebackPyObject; |
| 101 | PyErr_Fetch( &exceptionPyObject, &valuePyObject, &tracebackPyObject ); |
| 102 | if( !exceptionPyObject ) |
| 103 | { |
| 104 | throw IECore::Exception( "No Python exception set" ); |
| 105 | } |
| 106 | |
| 107 | PyErr_NormalizeException( &exceptionPyObject, &valuePyObject, &tracebackPyObject ); |
| 108 | |
| 109 | return std::make_tuple( handle<>( exceptionPyObject ), handle<>( allow_null( valuePyObject ) ), handle<>( allow_null( tracebackPyObject ) ) ); |
| 110 | } |
| 111 | |
| 112 | } // namespace |
| 113 |
no outgoing calls
no test coverage detected