Некоторые языки программирования, такие как, например, Scala, имеют концепцию Optionтипов (также называемых Maybe), которые могут либо содержать значение, либо нет.
Из того, что я читал о них, они считаются широко лучшим способом решения этой проблемы null, потому что они явно вынуждают программиста рассматривать случаи, когда не может быть значения, а не просто взорваться во время выполнения.
Проверенные исключения в Java, с другой стороны, кажутся плохой идеей, и Java кажется единственным широко используемым языком, который их реализует. Но идея, стоящая за ними, кажется, чем-то похожа на Optionтип, чтобы явно заставить программиста иметь дело с тем фактом, что может быть выдано исключение.
Есть ли дополнительные проблемы с проверенными исключениями, Optionкоторых нет у типов? Или эти идеи не так похожи, как я думаю, и есть веские причины для принудительной явной обработки опций, а не исключений?
Either e aТип данных.