diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-10-21 14:09:17 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-10-21 14:09:17 (GMT) |
commit | 467ab194fc6189d9f7310c89937c51abeac56839 (patch) | |
tree | ac2397959d646b3656fbf4759f4e6cb9d82e4ae6 /Include | |
parent | b0426cd8c4ecaa19cff05b4860da1c06531a77c1 (diff) | |
download | cpython-467ab194fc6189d9f7310c89937c51abeac56839.zip cpython-467ab194fc6189d9f7310c89937c51abeac56839.tar.gz cpython-467ab194fc6189d9f7310c89937c51abeac56839.tar.bz2 |
Issue #28410: Added _PyErr_FormatFromCause() -- the helper for raising
new exception with setting current exception as __cause__.
_PyErr_FormatFromCause(exception, format, args...) is equivalent to Python
raise exception(format % args) from sys.exc_info()[1]
Diffstat (limited to 'Include')
-rw-r--r-- | Include/pyerrors.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/Include/pyerrors.h b/Include/pyerrors.h index 03cee3d..f9f74c0 100644 --- a/Include/pyerrors.h +++ b/Include/pyerrors.h @@ -255,6 +255,17 @@ PyAPI_FUNC(PyObject *) PyErr_FormatV( va_list vargs); #endif +#ifndef Py_LIMITED_API +/* Like PyErr_Format(), but saves current exception as __context__ and + __cause__. + */ +PyAPI_FUNC(PyObject *) _PyErr_FormatFromCause( + PyObject *exception, + const char *format, /* ASCII-encoded string */ + ... + ); +#endif + #ifdef MS_WINDOWS PyAPI_FUNC(PyObject *) PyErr_SetFromWindowsErrWithFilename( int ierr, |