diff options
author | Benoit Foucher <benoit@zeroc.com> | 2007-01-10 10:59:47 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2007-01-10 10:59:47 +0000 |
commit | c577c799ddd6f40a0c94c74fd469ca1e41d9bc1e (patch) | |
tree | e18d9147d226942b5bceb2b38f1a52dcf69124f4 /py/modules/IcePy/Util.cpp | |
parent | Fixes (diff) | |
download | ice-c577c799ddd6f40a0c94c74fd469ca1e41d9bc1e.tar.bz2 ice-c577c799ddd6f40a0c94c74fd469ca1e41d9bc1e.tar.xz ice-c577c799ddd6f40a0c94c74fd469ca1e41d9bc1e.zip |
- Fixed bug where the request failed exceptions could get sliced
- Python unknown local/user exceptions are now translated as is (the
backtrace isn't added anymore)
- Added servant locator test
Diffstat (limited to 'py/modules/IcePy/Util.cpp')
-rw-r--r-- | py/modules/IcePy/Util.cpp | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/py/modules/IcePy/Util.cpp b/py/modules/IcePy/Util.cpp index 09736a59681..44dced4e48d 100644 --- a/py/modules/IcePy/Util.cpp +++ b/py/modules/IcePy/Util.cpp @@ -194,7 +194,7 @@ IcePy::PyException::raiseLocalException() { e.operation = PyString_AS_STRING(member.get()); } - throw e; + throw; } try @@ -214,21 +214,13 @@ IcePy::PyException::raiseLocalException() } catch(Ice::UnknownException& e) { - string tb = getTraceback(); - if(!tb.empty()) - { - e.unknown = tb; - } - else + IcePy::PyObjectHandle member; + member = PyObject_GetAttrString(ex.get(), STRCAST("unknown")); + if(member.get() != NULL && PyString_Check(member.get()) && strlen(PyString_AS_STRING(member.get())) > 0) { - IcePy::PyObjectHandle member; - member = PyObject_GetAttrString(ex.get(), STRCAST("unknown")); - if(member.get() != NULL && PyString_Check(member.get()) && strlen(PyString_AS_STRING(member.get())) > 0) - { - e.unknown = PyString_AS_STRING(member.get()); - } + e.unknown = PyString_AS_STRING(member.get()); } - throw e; + throw; } Ice::UnknownLocalException e(__FILE__, __LINE__); |