我们在执行过程中抛出了不同的异常代码。我想用Optional
替换异常;但是可选只能告知用户该值不存在。我需要有关执行期间发生的各种问题的更多详细信息。我需要这些详细信息主要用于错误消息并获取正确的错误代码。
在这种情况下使用Optional
的预期方式是什么?
答案 0 :(得分:4)
Optional
并非旨在替换异常,特别是如果存在不同类型的异常且需要调用者处理它们。
如果除非存在异常,否则您的方法永远不会返回null
,那么将Optional
引入之前为@NotNull
的类型似乎就类型/空安全而言倒退了一步。
保持例外。