Задачи на исключения в Java. Часть 2
Сделайте иерархию исключений для API.
Используйте multi-catch catch (A | B e).
Используйте Optional для безопасного вызова.
Используйте orElseThrow для проброса исключения.
Сделайте метод safeDivide.
Обработайте несколько типов исключений в catch.
Используйте try-with-resources для AutoCloseable.
Сделайте retry через try-catch в цикле.
Сделайте метод validateAge с IllegalArgumentException.
Сравните exceptions и Optional.