javajakarta-eeexceptionpostconstruct

@PostConstruct & Checked exceptions


In the @PostConstruct doc it says about the annotated methods:

"The method MUST NOT throw a checked exception."

How would one deal with e.g. an IOException which can be thrown in such a method? Just wrap it in a RuntimeException and let the user worry about the faulty initial state of the object? Or is @PostConstruct the wrong place to validate and initialize objects which got their dependencies injected?


Solution

  • Yes, wrap it in a runtime exception. Preferebly something more concrete like IllegalStateException.

    Note that if the init method fails, normally the application won't start.