So I basically have to isolate 2 layers of the application from one another by exceptions.
I have this WLST 12c script (python 2.2), that goes like
try:
something something...
except java.lang.UnsuportedOpperationException, (a, b):
pass
except java.lang.reflect.UndeclaredThrowableException, (a, b):
pass
I'd like to be able to re-raise one of my own types of exception, that contains a message about what caused the previous exception (and no, i don't know what the a
and b
parameters are, but i'm guessing one of them should be the exception description).
I'm a java guy myself, so i am looking forward to something like
try {
something something...
} catch (Exception e) {
throw new RuntimeException(e, "something horrible happened");
}
Although this is an old post, there is a much more simple answer to the original question. To rethrow an exception after catching it, just use "raise" with no arguments. The original stack trace will be preserved.
I hope I got the question right.
I'm not sure about Python 2.2 specifics, but this says you can handle exceptions the same way it's done in more recent versions:
try:
do_stuff()
except ErrorToCatch, e:
raise ExceptionToThrow(e)
Or maybe the last line should be raise ExceptionToThrow(str(e))
. That depends on how your exception is defined. Example:
try:
raise TypeError('foo')
except TypeError, t:
raise ValueError(t)
This raises ValueError('foo')
.
Hope it helps :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With