Les exceptions de Visual Expert permettent de traiter de façon
particulière certains appels de fonctions ou de propriétés.
On va ainsi enrichir l’analyse par défaut de
Visual Expert en créant des relations supplémentaires
entre les composants de l’application.
Le résultat sera une représentation plus complète
de cette application, en particulier de certains appels dynamiques
que l’analyse par défaut ne sait pas traiter.
Une exception peut être associée à une
méthode.
L’exception sera levée à chaque fois que
cette méthode est rencontrée dans le code.
Plusieurs méthodes peuvent lever la même exception.
Visual Expert supporte les méthodes de classe, les
fonctions globales et les fonctions système.
Une exception peut aussi être associée à
une propriété.
L’exception sera levée à chaque fois qu’une
valeur est affectée à cette propriété.
Plusieurs attributs peuvent lever la même exception.
Visual Expert supporte les variables d’instance et les
variables globales, mais pas les variables locales.
Exemple : on appelle dans l’application la fonction
uf_set_dataobject (d_dataobject) qui modifie la propriété
dataobject d’un DataWindowControl pour lui affecter
la valeur d_dataobject.
Dans ce cas, on va lever une exception pour ajouter une référence
entre d_dataobject et le DataWindowControl modifié.
Pour cela, il faut déclarer cette exception dans Visual
Expert (à partir de Visual Expert 5.6 – Build
60522 et suivants).
L’onglet « Exception » de la fenêtre
Setup liste toutes les exceptions levées dans l’application
courante. On accède à cette fenêtre via
le menu [Options - Project Setup].

Le bouton [Ajouter] permet de déclarer une fonction
ou propriété supplémentaire qui va lever
une exception.
La fenêtre suivante s’ouvre alors :

Dans la copie d’écran ci-dessus, la fonction
« uf_set_dataobjet » définie dans le userobjet
« pfc_n_cst_selection » lève une exception.
Cette exception est du type « SetMultipleDataobjetSelection
» (une fonction qui va modifier le dataobjet d’un
ou plusieurs objets. Les dataobjets correzpondant sont passés
en paramètres).
Visual Expert est livré avec plusieurs types d’exception
prédéfinis.
L’exemple précédent concernant la modification
de dataobjects correspond à un type d’exception.
Un autre exemple est une exception levée lorsqu’une
fonction ouvre une fenêtre ou un menu et que le nom
de l’élément ouvert est passé en
paramètre.
Cette exception permettra d’ajouter une référence
entre l’objet appelant cette fonction et la fenêtre
ou le menu ouvert.
N’hésitez pas à nous contacter
si vous avez besoin d’aide pour déclarer des
exceptions dans votre application.
|