catching exception is never good