Voici mon code, lorsque je commente statement-2, il est conforme aux amendes mais lorsque je ne commente pas, il donne l'erreur Compile Time "Unreachable Code"
.Gestion des exceptions Code inaccessible
Je comprends pourquoi j'obtiens l'erreur après décommentant, mais ma question est, même si je commente ce toujours le bad()
est injoignable comme je suis throwing
une exception est prise alors pourquoi il ne donne pas l'erreur pour elle?
class Varr
{
public static void main(String[] args) throws Exception
{
System.out.println("Main");
try {
good();
} catch (Exception e) {
System.out.println("Main catch");
//**Statement 1**
throw new RuntimeException("RE");
} finally {
System.out.println("Main Finally");
// **Statement 2**
throw new RuntimeException("RE2");
}
bad();
}
}
'mauvais()' est pas inaccessible, si vous en commentaire 'Déclaration 2'. Je pense que vous avez une idée fausse sur 'finalement '. Et une remarque: vous ne devriez ni retourner ni jeter quelque chose dans un bloc 'finally'. Cela peut conduire à un comportement bien défini, mais difficile à comprendre. Dans votre exemple, vous lancerez toujours une exception '' RE2 "' puisque 'finally' est toujours exécuté et bat tout. – Turing85