fas*_*seg 32 java exception-handling java-ee postconstruct
在@PostConstruct文档中,它描述了带注释的方法:
"该方法绝不能抛出已检查的异常."
如何处理例如可以在这种方法中抛出的IOException?只需将其包装在RuntimeException中,让用户担心对象的错误初始状态?或者@PostConstruct是错误的地方来验证和初始化注入了依赖项的对象?
一般来说,如果您希望或预期当您的某个 Bean 抛出异常时应用程序启动失败,您可以使用 Lombok 的@SneakyThrows.
如果使用得当,它会非常有用且简洁:
\n\n@SneakyThrows\n@PostConstruct\npublic void init() {\n // I usually throw a checked exception\n}\nRun Code Online (Sandbox Code Playgroud)\n\n最近有一篇文章讨论了它的优点和缺点:Prefer Lombok\xe2\x80\x99s @SneakyThrows to rethrowing CheckedExceptions as RuntimeExceptions
\n\n享受!
\n