Debe crear una nueva clase que extienda Excepción y proporcione detalles específicos de su error. Por ejemplo, podría crear una clase llamada EmptyListException que contenga los detalles sobre su error. Este podría ser una clase de excepción muy simple que no toma argumentos de constructor, pero tal vez llama al super("Cannot generate mean for an empty list");
para proporcionar un mensaje personalizado al seguimiento de la pila.
Muchas veces esto no se hace lo suficiente ... uno de mis olores de códigos más odiados es cuando los desarrolladores usan una excepción genérica (incluso a veces Exception) y pasan un mensaje de cadena al constructor. Hacer esto es válido, pero hace que los trabajos de aquellos que implementan su código sean mucho más difíciles ya que tienen que atrapar una excepción genérica cuando realmente solo pueden suceder algunas cosas. Las excepciones deben tener la misma jerarquía que los objetos que utiliza para los datos, y cada nivel proporciona detalles más específicos. Cuanto más detallada sea la clase de excepción, más detallada y útil será el seguimiento de la pila.
He encontrado este sitio: Exceptional Strategies para ser muy útil al crear excepciones para mis aplicaciones.
Bueno, supongo que el mejor método para encontrar qué excepciones manejar es simplemente romper tu programa y dejar que el compilador java te lo diga ... ¿no es así? –