А вместо исключений есть тип Result, который можно проверить на ошибку
Вот пример задачи: пусть у нас есть 2 функции, одна может вернуть ошибк IoError, NotFound, ParseError, втора NotFound, LogicError.
Нам нужно эти две функции вызвать из третьей, прокинуть ошибку вверх а наверху уже обработать только NotFound прокинув остальные дальше.