next up previous
Next: À propos de Up: Développer dans CASTEM2000 : Previous: Remarques

Exemple complet et message d'erreur

Le common "COPTIO" que l'on peut mettre dans un sous-programme par l'instruction :
-INC CCOPTIO
contient certaines informations générales. En particulier la dimension de l'espace, les unités d'entrées-sorties et la communication avec le gestionnaire d'erreurs.
Ainsi la variable IERR, contenue dans le common, représente le niveau d'erreur atteint pendant l'exécution de la commande élémentaire. Les tableaux INTERR, REAERR et la chaine MOTERR permettent de communiquer avec les messages d'erreurs contenus dans le fichier gibi.erreur.
Nous nous proposons de faire un opérateur qui lit une syntaxe :
FLOT1 MOT1 FLOT2
Dans cet exemple MOT1 sera soit le mot SUPERIEUR soit le mot INFERIEUR. L'opérateur rendra un logique vrai si la phrase est vrai.


SUBROUTINE EXEMPL

IMPLICIT REAL*8(A-H,O-Z)

-INC CCOPTIO

CHARACTER*9 MOT(2)

DATA MOT/'SUPERIEUR',INFERIEUR'/

CALL LIRMOT(MOT,2,0,ICAS)

IF(ICAS.EQ.0) THEN

MOTERR(1:9) = MOT(1)

MOTERR(10:18) = MOT(2)

CALL ERREUR ( 777)

RETURN

ENDIF

CALL LIRREE(XV1,1,IRETOU)

IF(IERR.NE.0) RETURN

CALL LIRREE(XV2,1,IRETOU)

IF(IERR.NE.0) RETURN

IF( ICAS.EQ.1) THEN

IF ( XV1.GT.XV2) THEN

CALL ECRLOG(.TRUE.)

ELSE

CALL ECRLOG(.FALSE.)

ENDIF

ELSE

IF ( XV1.GT.XV2) THEN

CALL ECRLOG(.FALSE.)

ELSE

CALL ECRLOG(.TRUE.)

ENDIF

ENDIF

RETURN

END

Le message d'erreur 777 est supposé faire une impression qui ressemble à :
On attend un des mots : SUPERIEUR ou INFERIEUR
Le tableau INTERR permet de passer des valeurs entières et REAERR des valeurs réelles. Dans le fichier gibi.erreur, un message d'erreur est composé de deux ou quatre lignes. La première et la troisième contiennnent le numèro de l'erreur et son niveau ( le niveau sert à initialiser la variable IERR et à partir de 2 le lecteur interne passe à l'instruction suivante en sortant du bloc REPETER ou de la procédure). La deuxième et la quatrième ligne servent à définir le message qui va etre imprimé. Un numéro d'erreur négatif est utilisé pour les messages normaux, par exemple pour les textes des listes d'objets.Ci-joint l'en-tete du fichier et un ou deux extraits.

9999 0 C GIBI      ERREUR    CHAT      96/03/18    21:15:02     2086 
Liste des messages à traduire pour castem2000
9999 0 
une ligne introduite par 9999 est commentaire: par 9998 est la
9999 0 
liste des langues: par 9997 est la def de la langue  : par
9999 0 
 9996 la fin du fichier 9995 introduit la langue utilisée par défaut
9999 0
Format du fichier : lrecl=80
9999 0
 première ligne numéro message I4,1x,niveau erreur I1
9999 0
deuxième ligne texte A80
9999 0
prendre un numéro inférieur ou supérieur ( consécutif)
9999 0
%i1 représente interr(1)  common coptio
9999 0
%r3 représente reaerr(3)  common coptio
9999 0
%m3:8 représente moterr(3:8)  common coptio
9998 0 ceci est la liste des langues utilisées(FRAN en premier)
FRAN ANGL
9995 0  langue par défaut à changer si besoin est 
FRAN
9997 0 ceci est la langue qui va etre utilisée
FRAN
-307 0
Matrice élémentaire non-symétrique
-306 0
*****     FIN DE LA PROCEDURE INITIALE    ******
-305 0
*****  EXECUTION D'UNE PROCEDURE INITIALE ******
-304 0
ATTENTION : On ne prend pas en compte la moyenne pour un bruit blanc
-304 0
à distribution exponentielle (valeur lue : %r1 )
-303 0
Impossible de regénérer l'élément %i5 ayant deux fois le meme noeud.
-302 0
Liste des procedures surchargées par l'utilisateur :
-302 0
****************************************************
  
   
 188 2
On cherche un chpoint qui contient des contributions modales
 189 2
Pas de fréquence propre dans l'intervalle fourni
 190 2
On veux lire un entier supérieur ou égal à %i1 au lieu de %i2
 191 2
On veux lire un flottant supérieur ou égal à %r1 au lieu de %r2
 192 2
Impossible d'orienter les forces de pression: direction donnée
 192 2
perpendiculaire à la force de pression au point indiqué
 193 2
Impossible d'utiliser cet opérateur pour la formulation %m1:8
 194 2
Impossible de calculer les contraintes pour la formulation %m1:8
 195 2
Changement de signe du jacobien dans l'élément %i1. Maillage incorrect
 196 2
Le type d'un des opérandes n'est pas compatible avec l'opérateur %m1:8
 197 2
Le mot %m1:4 n'est pas un nom de composante reconnu



next up previous
Next: À propos de Up: Développer dans CASTEM2000 : Previous: Remarques



Socotec
jeu 5 sep 17:32:12 DFT 1996