rename recover by catch_error.