catching all throwables in order to reports as much as possible back to a client