J'ai une try...catch
construction dans mon code quelque part:
try {
// Some code.
} catch (Exception e) {
if (condition) {
// Break out of catch block.
}
// Continue catch block.
}
Comment puis - je étiqueter mon catch
bloc afin que je puisse écrire break LABEL_NAME;
à la place // Break out of catch block.
, de sorte que l' exécution quitte la try...catch
toute construction?
Tentatives
Je pensais pouvoir placer une étiquette avant le catch
mot - clé:
try { }
LBL: catch(Exception e) { }
comme l'étiquette irait avant le mot clé dans beaucoup d' autres constructions de langage (par exemple , LBL: if(...
ou LBL: for(...
) , mais qui a soulevé une erreur de syntaxe.
Je n'ai pas pu placer l'étiquette après le catch(Exception e)
Code soit.
Éditer
Cette question est pure curiosité pour la façon dont on pourrait y arriver en Java. Je suis plus conscient qu'il existe d'autres façons de flux de contrôle de l' exécution dans un bloc de code.
Si je suis toujours à venir un code qui a marqué un catch
ou un bloc similaire, et les pauses du bloc en utilisant l'étiquette, je voudrais savoir exactement ce que le code fait et comment il le fait.
Pour sortir d'un catch
, le try
besoin d'être étiquetés:
LABEL: try {
// Some code.
} catch(Exception e) {
if(condition) {
break LABEL;
}
// Remaining code.
}
Encore une fois, je suis sûr qu'il ya beaucoup de meilleures alternatives à ce code, mais cette réponse que la question demande explicitement.