Как вы реализуете повторную попытку?

Try-catch призван помочь в обработке исключений. Это как-то означает, что это поможет нашей системе быть более устойчивой: попытаться восстановиться после неожиданного события.

Мы подозреваем, что что-то может произойти при выполнении инструкции и (отправке сообщения), поэтому оно включается в попытку. Если случается что-то почти неожиданное, мы можем что-то сделать: мы пишем улов. Я не думаю, что мы позвонили, чтобы просто зарегистрировать исключение. Мне кажется, что блок catch предназначен для того, чтобы дать нам возможность восстановления после ошибки.

Теперь, допустим, мы оправились от ошибки, потому что мы могли исправить то, что было не так. Это может быть супер приятно повторить попытку:

try{ some_instruction(); }
catch (NearlyUnexpectedException e){
   fix_the_problem();
   retry;
}

Это быстро попадет в вечный цикл, но допустим, что fix_the_problem возвращает true, затем мы повторим попытку. Учитывая, что в Java такого нет, как ВЫ решите эту проблему? Какой ваш лучший дизайнерский код для решения этой проблемы?

Это похоже на философский вопрос, учитывая, что я уже знаю, что то, что я спрашиваю, напрямую не поддерживается Java.

Ответы на вопрос(20)

Ваш ответ на вопрос