¿Cómo se manejan las excepciones en Java?