Frank Millman schrieb: > If there is something wrong with the SQL statement, I do not want to > crash the server, I want to notify the client that there was something > wrong, so that the offending module can be corrected and reloaded.
Right. In a distributed system, you should propagate the error (in some form) to the client. Then the question is what the best form is: IMO, you should keep as much information as possible. This means you either return the Python exception to the client, to be re-raised on the client side, or you log the exception on the server side, and just return to the client the information that the full error message has been logged. In any case: this should happen on the middleware layer, i.e. the place that does the communication. Wrt. the OP's code, I still maintain that all of his approaches to "silence" the exception are flawed. Exception handling should either recover from the error (e.g. by adjusting the environment, then retrying) or abort the execution. In a distributed case, "abort the execution" may not mean "terminate the program", but instead "immediately abort execution of the current request and return an error to the client". Regards, Martin -- http://mail.python.org/mailman/listinfo/python-list