Qual è la differenza tra "throws Exception" e "throws IOException" [duplicate]

Oct 26 2020

Qual'è la differenza tra throws Exceptione throws IOException?

Entrambi funzionano. Allora, qual è la principale differenza tra loro? E se uno di loro non fosse esistito?

Risposte

1 AlexShesterov Oct 26 2020 at 01:38

Questa domanda riguarda davvero le basi del meccanismo di eccezione di Java, ma, stranamente, non sono riuscito a trovare un duplicato esatto su StackOverflow ...


Queste dichiarazioni dicono al compilatore (e ai programmatori) quali tipi di eccezioni possono essere lanciati da un metodo.

throws Exception

significa che un metodo può lanciare qualsiasi Exception( Exceptiondirettamente un'istanza o qualsiasi sottotipo di Exception, incluso IOException).

throws IOException 

dice che un metodo può lanciare un IOException, ma non, per esempio SQLException,.

Di solito è una buona pratica dichiarare eccezioni specifiche , ad esempio throws IOException, ParseException, invece di limitarsi a scrivere throws Exception.