Description et gestion des situations d'erreur


o Erreurs sur les tableaux
o Erreurs sur les descripteurs d'entités
o Erreurs sur les entités
o Erreurs sur les événements
o Erreurs sur les processus
o Erreurs sur les directives données aux processus dans les événements
o Erreurs sur les méthodes
o Erreurs sur l'objet 'simulation'
o Erreurs sur les spécifications d'ensembles d'entités
o Erreurs sur les spécifications de domaines de valeurs
o Erreurs sur les paramètres
o Erreurs sur les sources de données externes
o Erreurs de manipulation du chronomètre
Un certain nombre de méthodes (au sens de C++), dans diverses classes, savent reconnaître des situations particulières (en général indésirables) portant sur leurs paramètres ou sur l'état des entités qu'elles manipulent. Dans une telle situation, la méthode en question peut lever une exception.

Le langage C++ offre un mécanisme standard de reconnaissance et de traitement d'exception. Il consiste pour le programmeur à déclarer des classes particulières dites classes d'exceptions. Dans une situation qu'il a choisie (et qu'il a pris soin de spécifier dans un bloc try), le programmeur crée une instance d'une classe d'exception appropriée (instruction throw) en valuant ses attributs en fonction du problème rencontré. L'exploitation (c'est-à-dire le captage d'une exception en cours d'exécution) se fait dans un bloc catch qui suit le bloc try dans lequel a été inséré (directement ou indirectement) l'appel à la méthode qui a levé l'exception.

Ce mécanisme standard n'est utilisé dans la bibliothèque DIESE que pour capter des erreurs dans la gestion des tableaux (classe Tableau). Les messages édités lors de ces erreurs sont documentés dans le premier lien dans la liste ci-dessus. On explique aussi comment le développeur d'une application peut exploiter ce mécanisme dans son propre code.

Pour toutes les autres erreurs envisagées, les déclenchements d'exceptions par throw ont été remplacés par des appels à des fonctions globales qui réalisent le même effet. Elles sont de deux types :

Les messages édités lors de ces erreurs sont documentés dans les liens à partir du second, dans la liste ci-dessus.

This page was generated with the help of DOC++.