They make failure paths explicit in the API and control flow.
Exceptions are one way Java communicates what the code refuses to accept and what operations may fail. Good exception design helps readers understand responsibility and failure boundaries, not just compiler rules.
Additional Notes
Why are exceptions part of design, not only syntax?