Вот что вы не можете сделать, и предпочтительная альтернатива:
method().failOnExcept(); // BAD: as soon as method() terminates unexpectedly
// failOnExcept() cannot be called - instead, control flow
// shifts to a catch block (error handling) or the caller
// of the method (if error handling failed/re-throws)
failOnExcept(() -> method()) // GOOD: we attempt to try method(); if it fails,
// failOnExcept() will handle it somehow
Меня не интересует, следует ли мне это делать, так как я вижу обе стороны, почему Я должен или не должен этого делать. Мне просто интересно, как это можно сделать, с чистой Java точки зрения обучения.
Имея это в виду, я не собираюсь обсуждать достоинства альтернативы здесь - просто Знайте, что основная причина, по которой мы этого не делаем, заключается в том, что это невозможно сделать.