summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2016-10-21 14:09:17 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2016-10-21 14:09:17 (GMT)
commit467ab194fc6189d9f7310c89937c51abeac56839 (patch)
treeac2397959d646b3656fbf4759f4e6cb9d82e4ae6 /Include
parentb0426cd8c4ecaa19cff05b4860da1c06531a77c1 (diff)
downloadcpython-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.h11
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,