probably `_handle_exception` since nothing outside this class should call this?