Qual é a diferença entre “throws Exception” e “throws IOException” [duplicate]

Oct 26 2020

Qual é a diferença entre throws Exceptione throws IOException?

Qualquer um deles funciona. Então, qual é a principal diferença entre eles? E se um deles não existisse?

Respostas

1 AlexShesterov Oct 26 2020 at 01:38

Esta questão é realmente sobre os fundamentos do mecanismo de exceção Java, mas, estranhamente, não consegui encontrar uma duplicata exata no StackOverflow ...


Essas declarações informam ao compilador (e aos programadores) quais tipos de exceções podem ser lançados por um método.

throws Exception

significa que um método pode lançar qualquer Exception(uma Exceptioninstância diretamente ou qualquer subtipo de Exception, incluindo IOException).

throws IOException 

informa que um método pode lançar um IOException, mas não, por exemplo SQLException,.

Normalmente, é uma boa prática declarar exceções específicas , por exemplo throws IOException, ParseException, em vez de apenas escrever throws Exception.