当前位置: 首页 > 面试题库 >

@PostConstruct&Checked异常

葛雪松
2023-03-14
问题内容

在@PostConstruct文档中,它说明了带注释的方法:

“该方法绝不能抛出检查异常。”

如何处理例如可以在这种方法中抛出的IOException?只需将其包装在RuntimeException中,然后让用户担心对象的错误初始状态?还是@PostConstruct在错误的地方来验证和初始化已注入依赖项的对象?


问题答案:

是的,将其包装在运行时异常中。最好是更具体的东西IllegalStateException

请注意,如果init方法失败,则通常不会启动应用程序



 类似资料:
  • 微软开源了Checked C,旨在对C和C++增加边界检查的研究项目。 Checked C允许程序员在C/C++中编写“确保边界检查”的代码。为了实现这个功能Checked C增加了新的指针和数组类型,它们可以在编译期和运行时进行边界检查: ptr<T>:指向类型T且无须边界检查的指针。这种类型的指针不允许参与算数运算。当访问内存时,该类型指针不能为null。大部分指针应该用此类型。 array_

  • 问题内容: 如何理解java中的checked 和unchecked异常? 问题答案: 许多人说根本不应该使用检查的异常(即应明确捕获或重新抛出的异常)。例如,它们已在C#中被淘汰,并且大多数语言都没有它们。因此,你始终可以抛出RuntimeException(未经检查的异常)的子类 但是,我认为检查异常非常有用-当你要强制API用户考虑如何处理特殊情况(如果可恢复)时,可以使用它们。只是在Jav

  • 问题内容: 如何从Java 8流/ lambda中抛出CHECKED异常? 换句话说,我想使代码像这样编译: 由于上面的方法,因此该代码无法编译。 请注意,我不想将已检查的异常包装在运行时异常中,而是将已包装的未检查的异常抛出。我想抛出被检查的异常本身,而又不添加丑陋的流。 问题答案: 该帮助程序类使你可以在Java流中使用任何已检查的异常,如下所示: 注意抛出异常,已被选中。流本身也会抛出,而不

  • 问题内容: 我在查找以下jquery / checkbox行为的原因时遇到问题。 该代码旨在按以下方式工作:-单击input.select_all触发事件- 如果选中了input.select_all:将选中的属性添加到table.sgrid-content中标记为.select的所有复选框-如果未选中:则删除“ ‘属性来自所有input.select项。 另一个简单的网格功能。而且有效。奇怪的是

  • 本主题中的某些内容可能不适用于某些语言。 如果“Office 助手”气球中的指定复选框被选中,则返回True。Boolean 类型,可读写。 示例 本示例创建一个带标题、文字和三个区域选项的气球。当用户单击该气球中的“确定”按钮时,就会打印出所选区域中的数据。 With Assistant.NewBalloon .Heading = "Regional Sales Data" .Text =

  • 此绑定用于在可检查表单元素和ViewModel属性之间创建链接。 这些表单元素主要包括复选框和单选按钮。 这也是一种双向绑定方法,其中在用户检查表单控件的那一刻,相应的ViewModel属性被改变,反之亦然。 语法 (Syntax) checked: <binding-value> 参数 (Parameters) 主要参数 可检查元素的状态设置为参数值。 之前的价值将被覆盖。 Checkbox