version 2003 (Modifiée)
Le tableau suivant liste les codes et les messages des erreurs de syntaxe qui peuvent survenir lors de l'exécution de votre code en mode Utilisation ou Menus créés. Quelques erreurs peuvent se produire en mode interprété seulement, quelques-unes en mode compilé seulement et les autres dans les deux modes. Ces erreurs peuvent être interceptées par une méthode d'appel sur erreur installée par la commande APPELER SUR ERREUR.
Code | Description |
1 | Il manque une parenthèse ouvrante. |
2 | Il manque un champ. |
3 | Cette fonction ne peut être appliquée que sur un champ appartenant à une sous-table. |
4 | Les arguments de la liste doivent tous être du même type. |
5 | Impossible de déterminer sur quelle table appliquer cette fonction |
6 | Cette fonction ne peut être exécutée que sur un champ de type sous-table. |
7 | Il manque un argument de type numérique. |
8 | Il manque un argument de type alphanumérique. |
9 | Il manque le résultat d'une condition. |
10 | Cette fonction ne peut être appliquée à ce type de données. |
11 | Cette fonction ne peut être appliquée entre deux conditions. |
12 | Cette fonction ne peut être appliquée entre deux arguments numériques. |
13 | Cette fonction ne peut être appliquée entre deux arguments alphanumériques. |
14 | Cette fonction ne peut être appliquée entre deux arguments de type date. |
15 | Les arguments de cette opération ne sont pas compatibles. |
16 | Ce champ ne possède pas de lien. |
17 | Il manque une table. |
18 | Les types sont incompatibles. |
19 | Le champ n'est pas indexé. |
20 | Il manque le signe égal (=). |
21 | Cette méthode n'existe pas. |
22 | Les champs doivent appartenir à la même table (ou à la même sous-table) pour un tri |
ou un graphe. | |
23 | Il manque le signe inférieur (<) ou supérieur (>). |
24 | Il manque un point-virgule (;). |
25 | Il y a trop de champs pour le tri. |
26 | Le champ ne doit pas être de type image, texte, BLOB ou sous-table. |
27 | Le nom du champ doit être préfixé par le nom de la table auquel il appartient. |
28 | Le champ doit être du type numérique. |
29 | La valeur doit être égale à 1 ou 0. |
30 | Il manque une variable. |
31 | Aucune barre de menus ne porte ce numéro. |
32 | Il manque une date. |
33 | Méthode ou fonction non implémentée |
34 | Les fichiers comptables ne sont pas ouverts. |
35 | La table et l'ensemble ne sont pas associés. |
36 | Nom de table incorrect |
37 | Il manque le signe d'affectation (:=). |
38 | Ceci est une fonction et non une méthode. |
39 | Cet ensemble n'existe pas. |
40 | Ceci est une méthode et non une fonction. |
41 | Il manque une variable ou un sous-champ. |
42 | L'enregistrement ne peut pas être dépilé. |
43 | La fonction est introuvable. |
44 | La méthode est introuvable. |
45 | Il manque une variable ou un champ. |
46 | Il manque un argument de type alphanumérique ou numérique. |
47 | Le champ doit être de type alphanumérique. |
48 | Erreur de syntaxe |
49 | Impossible d'utiliser cet opérateur ici |
50 | Ces opérateurs ne peuvent pas être utilisés conjointement. |
51 | Ce module n'est pas implémenté. |
52 | Il manque un argument de type tableau. |
53 | L'indice du tableau est en dehors des limites. |
54 | Les arguments sont incompatibles. |
55 | Il manque un argument de type booléen. |
56 | Il manque un champ, une variable ou une table. |
57 | Il manque un opérateur. |
58 | Il manque une parenthèse fermante. |
59 | Type d'argument inattendu |
60 | Impossible de passer un paramètre ou une variable locale à une commande |
EXECUTER sur une base compilée | |
61 | Impossible de modifier le type d'un tableau dans une base compilée |
62 | Impossible d'appliquer cette commande à une sous-table |
63 | Le champ n'est pas indexé. |
64 | Il manque un champ ou une variable de type image. |
65 | La valeur doit comporter 4 caractères. |
66 | La valeur doit être composée d'au plus 3 caractères. |
67 | Cette commande ne peut pas être exécutée sur 4D Server. |
68 | Il manque une liste. |
69 | Il manque une référence d'une fenêtre externe. |
Astuces
Certains codes d'erreurs signalent des erreurs de syntaxe dûes à des fautes de frappe. Par exemple, vous obtenez l'erreur 37 ("Il manque le signe d'affectation (:=).") si vous exécutez l'expression v=0 alors que vous vouliez écrire v:=0. Dans ce cas, vous éliminez l'erreur en corrigeant votre code dans l'éditeur de méthodes.
Certains codes d'erreurs signalent de simples erreurs de programmation. Par exemple, vous obtenez l'erreur 5 ("Impossible de déterminer sur quelle table appliquer cette fonction.") si vous avez exécuté une commande telle que AJOUTER ENREGISTREMENT sans indiquer de nom de table dans le paramètre correspondant, et vous n'avez pas défini de table par défaut à l'aide de la commande TABLE PAR DEFAUT. Dans ce cas, vous corrigez l'erreur en définissant une table par défaut ou en passant un nom de table dans le paramètre correspondant.
Certains codes d'erreurs signalent des erreurs liées à la structure de la base. Par exemple, vous obtenez l'erreur 16 ("Ce champ ne possède pas de lien.") si vous appliquez la commande CHARGER SUR LIEN à un champ qui n'est pas lié à un autre champ. Dans ce cas, vous éliminez l'erreur en modifiant votre code ou en créant un lien à partir du champ.
Certaines erreurs qui surviennent ne stoppent pas toujours l'exécution de votre code au "bon" endroit. Par exemple, si dans une sous-routine vous recevez l'erreur 53 ("L'indice du tableau est en dehors des limites.") sur la ligne vpChamp:=Champ($1;$2), l'erreur est dûe à des numéros incorrects de table ou de champ passés à la sous-routine en tant que paramètres. Donc, l'erreur se trouve dans la méthode appelante et non à l'endroit où l'erreur est détectée. Dans ce cas, tracez votre code dans la fenêtre de débogage et recherchez la ligne qui contient l'erreur, puis corrigez-la dans l'éditeur de méthodes.
Référence