Skip to content

AthenaConfiguration: Do not catch/rethrow exceptions in ExceptionSvc

Dan Guest requested to merge dguest/athena:catcheption into main

I'm breaking some changes from !66320 (merged) into a new MR, since they seemed controversial.

If I understand correctly (I probably don't) we have two error handlers around exceptions:

  • ExceptionSvc is meant to translate from exceptions to status codes
  • Some other hooks we provide are meant to give us a stack trace when an exception propagates all the way out without being caught

Unfortunately the default configuration for ExceptionSvc gives us neither: we will catch an exception (which interrupts what would otherwise be a useful stack trace), and then we rethrow, which prevents the error from being translated to a status code.

I'm configuring the service to work as it should.

I admit I'm confused at why the current setup doesn't work: I would have thought rethrowing the exception would still give a trace back to the original throw. Even simpler would be to remove the service entirely, that way we get a single trace pointing back to the actual error. I wasn't clear on how to do that, though.

Pinging @amete and @christos for feedback, maybe I'm just being silly here.

Edited by Dan Guest

Merge request reports