Por ejemplo, muchos métodos en los marcos/JDK pueden tirar¿Deberían los métodos que lanzan RuntimeException indicarlo en la firma del método?
java.lang.SecurityException
pero esto no está indicado en la firma del método (ya que es una práctica normalmente reservado para excepciones controladas). Quiero argumentar que la declaración de RuntimeExceptions en el método sigs tiene muchos beneficios (similar a la comprobación de tipo estático, por ejemplo). ¿Estoy borracho o no?
El compilador de java no lo obliga a manejar las RuntimeExceptions declaradas. Para que pueda declararlos, para el propósito como una "pista" para los desarrolladores. Es discutible, si JavaDoc es un lugar mejor para eso. El punto sobre Excepciones marcadas y no marcadas es importante. Las excepciones controladas y no comprobadas son lo que realmente significa Java con (Compiletime-) Exceptions (checked) y RuntimeExceptions (no seleccionado). – Guardian667
En Spring, la declaración de excepciones sin marcar en la firma del método comenzó a ser una práctica común. – danidacar