while studying spring I stumbled over this question. Java supports both checked and unchecked exceptions. Language-agnostic design guidelines seems to favour unchecked exceptions. This question is why using an inversion of control-container like Spring implies that I should only use unchecked exceptions.