clean code; catch Throwable in Agent