Есть 2 типа ошибок. 1) исключения потому что разраб/ девопс/вендор хардвера долбич и провтыкал(полез в массив по индексу которого там нет) 2) нормальное поведение программы, описанное интерфейсом, но при этом оцениваемое пользователем как неспешное исполнение запроса по чьей-либо вине. (Попросил найти продукт, которого нет). В случае 1) сделать ничего кроме как залогировать и откатиться нельзя, и тут эта логика подходит. В случае 2) Вам в любом случае надо донести информацию о том как именно ошибся пользователь до пользователя.