Gestion d'InterruptedException : propagation ou interruption polie
Lorsque vous travaillez avec des threads Java, InterruptedException peut survenir lorsqu'un thread est interrompu en attendant un opération à terminer. Il existe deux approches courantes pour gérer cette exception :
1. Propagation :
try { // ... } catch (InterruptedException e) { Thread.currentThread().interrupt(); }
Scénario de propagation : utilisez cette approche lorsque l'opération interrompue est essentielle au fonctionnement de la méthode. En propageant l'InterruptedException, le code appelant est informé que l'opération a été perturbée et peut décider comment la gérer.
2. Interruption et journalisation :
try { // ... } catch (InterruptedException e) { Thread.currentThread().interrupt(); // set interrupt flag System.out.println("Failed to compute sum"); }
Scénario d'interruption polie : utilisez cette approche lorsque l'opération interrompue n'est pas cruciale pour le résultat de la méthode. En définissant l'indicateur d'interruption, le code appelant peut déterminer si une interruption s'est produite et prendre les mesures appropriées (par exemple, la journalisation).
Détermination de la meilleure approche
La meilleure approche dépend de la situation spécifique :
Éviter de relancer l'exception
Le simple fait de relancer l'InterruptedException peut être problématique car cela obscurcit la cause première de l'interruption. Au lieu de cela, gérez toujours l'exception poliment et enregistrez l'interruption.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!