From ff3cdfaf74d22bcc4218d9640deb07e5f9b6eca8 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 26 May 2020 22:55:07 +0200 Subject: [PATCH] Python: [skip ci] exception handling in PyInit to avoid to close application --- src/Base/UnitPyImp.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Base/UnitPyImp.cpp b/src/Base/UnitPyImp.cpp index 07ebb12056..2738861cf1 100644 --- a/src/Base/UnitPyImp.cpp +++ b/src/Base/UnitPyImp.cpp @@ -52,8 +52,14 @@ int UnitPy::PyInit(PyObject* args, PyObject* /*kwd*/) int i7=0; int i8=0; if (PyArg_ParseTuple(args, "|iiiiiiii", &i1,&i2,&i3,&i4,&i5,&i6,&i7,&i8)) { - *self = Unit(i1,i2,i3,i4,i5,i6,i7,i8); - return 0; + try { + *self = Unit(i1,i2,i3,i4,i5,i6,i7,i8); + return 0; + } + catch (const Base::OverflowError& e) { + PyErr_SetString(PyExc_OverflowError, e.what()); + return -1; + } } PyErr_Clear(); // set by PyArg_ParseTuple()