[SOLVED]runPrepUpdate is failing to return a value

Python's Exception classes inherit from PyObject, while java exceptions inherit from java.lang.Throwable. They simply don't have a common parent class, so can only be caught in the same except clause when you specify no exception class at all. If you need to catch them both with the explicit syntax, use two except clauses.

See also:

Also note that java exceptions can have a chain of "causes" you can follow for more detail. Though some of that detail is lost in serialization when exceptions are reported from gateway to client.