Así que pensé que tenía una buena comprensión básica del manejo de excepciones en Java, pero hace poco estuve leyendo un código que me dio cierta confusión y dudas. Mi duda principal que quiero tratar aquí es cuando se debe utilizar un observador lanza en una declaración de método Java como la siguiente:Cuándo utilizar throws en una declaración de método Java?
public void method() throws SomeException
{
// method body here
}
De la lectura de algunos mensajes similares deduzco que tiros se utiliza como una especie de declaración que SomeException podría lanzarse durante la ejecución del método.
Mi confusión proviene de un código que se veía así:
public void method() throws IOException
{
try
{
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
¿Hay alguna razón por la que se desea utilizar un tiros en este ejemplo? Parece que si solo está haciendo un manejo básico de excepciones de algo así como una IOException, simplemente necesitaría el bloque try/catch y eso es todo.
En caso de que las excepciones sin marcar también se declaren en la firma del método con un 'throws', ¿o es práctica usar solo 'throws' para las excepciones marcadas? – Cody