[#] Объект в футляре или Optional в Java 8 и Java 9. Часть 4: «Футляр с двойным дном»
habrabot(difrex,1) — All
2018-01-30 20:45:14


[![Объект в футляре][1]][2]

Это четвёртая статья серии, посвящённая использованию класса Optional при обработке объектов с динамической структурой. В [первой статье][3] было рассказано о способах избежания NullPointerException в ситуациях, когда вы не можете или не хотите использовать Optional. [Вторая статья][4] посвящена описанию методов класса Optional в том виде, как он появился в Java 8. [Третья][5] — методам, добавленным в класс в Java 9.

Класс о котором я хочу рассказать в этой статье возник при попытке найти решение реальной задачи. На абстрактном уровне постановка задачи звучит так: вы обращаетесь к некому сервису, который в случае успеха должен вернуть объект. Но запрос может закончится и неудачей. Причин для неудачи может быть несколько. И логика дальнейшей обработки ошибочной ситуации зависит от того, какова была причина неудачи.

Если сервис возвращает Optional, о причине мы ничего не узнаем. Значит надо использовать что-то похожее на Optional, но содержащее информацию об ошибке в случае неуспеха. [Читать дальше →][6]

[1]: https://habrastorage.org/webt/ys/0h/kg/ys0hkgszo0x804sxkfr0q6svqcm.jpeg
[2]: https://habrahabr.ru/post/347836/
[3]: https://habrahabr.ru/post/347480/
[4]: https://habrahabr.ru/post/347576/
[5]: https://habrahabr.ru/post/347748/
[6]: https://habrahabr.ru/post/347836/?utm_source=habrahabr&utm_medium=rss&utm_campaign=347836#habracut