Więc pomyślałem, że dobrze rozumiem podstawową obsługę wyjątków w Javie, ale ostatnio czytałem kod, który wprowadził mnie w zakłopotanie i wątpliwości. Moją główną wątpliwością, którą chcę się tutaj zająć, jest to, kiedy osoba powinna użyć deklaracji metody Javy, jak poniżej:
public void method() throws SomeException
{
// method body here
}
Z czytania kilku podobnych postów wynika, że rzucania są używane jako rodzaj deklaracji, że SomeException może zostać wyrzucony podczas wykonywania metody.
Moje zamieszanie pochodzi z kodu, który wyglądał tak:
public void method() throws IOException
{
try
{
BufferedReader br = new BufferedReader(new FileReader("file.txt"));
}
catch(IOException e)
{
System.out.println(e.getMessage());
}
}
Czy jest jakiś powód, dla którego chciałbyś użyć rzutów w tym przykładzie? Wygląda na to, że jeśli robisz tylko podstawową obsługę wyjątków dla czegoś takiego jak IOException, po prostu potrzebujesz bloku try / catch i to wszystko.