next up previous contents
Next: Verbosité de GOP Up: Tutorial Previous: Effacement

Traitement des erreurs

Un status de retour différent de zéro indique une erreur. Le numéro d'une erreur de transmission est lut avec la fonction gsc_get_error_number(), le message avec gsc_get_error_string(). On peut également tester si l'erreur est due à une interruption de la communication (broken pipe) avec la fonction gsc_is_broken_pipe(). Exemple:

 
   program xxxx
  
   integer       connect_gsc
   integer       pipe, no, ilen
   character*80	 message
   ...
   call gsc_mget(connect_gsc, ...)
   if(status.ne.0) then
     call gsc_is_broken_pipe(pipe)
     if(pipe)then
        write(*,*) deconnection avec xgsc
        actual_status = 0
        goto 8888
     else
        call gsc_get_error_number(no)
        call gsc_get_error_string(message, ilen)
        write(*,'(i,a)') no, message(1:ilen)
        goto 9999
     endif
   endif
   ...
   end


WEBER Luc
Mon May 10 13:40:23 MET DST 1999