Épuisement de ressources

Une autre catégorie importante de situations exceptionnelles est l'épuisement de ressources. Cette situation arrive lorsque, par exemple, le programme tente de créer un fichier alors qu'il n'y a plus d'espace sur le disque. Cette situation n'est pas un échec, car il ne s'agit pas d'erreur de programmation.

Il y a deux manières de traiter les situations d'épuisement de ressources, selon le type de l'application.

Si l'application n'est pas interactive, le plus simple est d'arrêter celle-ci avec un message d'erreur destiné à l'utilisateur indiquant le problème et une action possible pour le corriger (supprimer des fichiers inutiles). Après correction du problème, il suffit de relancer l'exécution de l'application. Il faut cependant être sûr que les données traitées par l'application sont dans un état stable.

Par contre, si l'application est interactive, il est préférable de donner à l'utilisateur la possibilité de corriger le problème et de continuer l'exécution de l'application, ou au moins de permettre à l'utilisateur de sauver son travail avant de quitter l'application. Ce n'est cependant pas simple, car le fait que la ressource soit épuisée peut rendre difficile, voire impossible, l'exécution de l'application.

Le problème majeur de cette situation est que le code qui détecte l'épuisement de la ressource ignore s'il s'agit d'une application interactive ou non.

Irene DURAND
2011-10-14