J'essaie de comprendre la gestion des exceptions en Java et je continuer à courir dans les variations de la déclaration ci-dessous mentionné confusion dans plusieurs articles -Quelle est la signification de cette déclaration d'un blog disant qu'une fonction doit déclarer Throwable à la signature de la méthode pour l'attraper?
Il y a plusieurs raisons pour lesquelles par exemple la capture de java.lang.Throwable est mauvaise idée, parce que afin de les attraper, vous devez déclarer à votre signature de méthode par exemple public void doSomething() jette Throwable.
Ceci est de http://javarevisited.blogspot.com/2014/02/why-catching-throwable-or-error-is-bad.html#ixzz4hQPkFktf
Cependant, ce code compile -
class CatchThrowable
{
void function()
{
try
{
throw new Throwable();
}
catch (Throwable t)
{
}
}
public static void main(String[] args)
{
try
{
}
catch (Throwable t)
{
}
}
}
Les deux principaux et la fonction sont capables d'attraper Throwable sans déclarer qu'ils jettent. Ma compréhension est que le throws mot-clé est utilisé pour déclarer les exceptions vérifiées qu'une fonction jette, pas ceux qu'elle attrape. Veuillez clarifier la déclaration citée.
Si vous l'attrapez dans la méthode, la méthode ne la jette pas * à l'extérieur *. Capiche? – Kayaman
oui, je pense que le tutoriel signifiait que la méthode qui jetterait l'exception devrait avoir 'throws Exception' dans sa signature – Yazan
Je ne pense pas que le blog rende cela très clair. Connexe: http://stackoverflow.com/questions/6083248/is-it-a-bad-practice-to-catch-throwable –