Gestione errori

From SageDev KB
Revision as of 08:37, 31 May 2019 by Mwadmin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


In caso di errori a run time l'esecuzione del processo in Sage si interrompe; per evitare un'interruzione bisogna gestire adeguatamente i possibili errori con l'istruzione Onerrgo e Resume.
Ecco un esempio di come gestire gli errori:

TRACE=0
Local Integer VALORE
Onerrgo OPENERR       #inizio blocco Try:imposto delegato per la gestione di un eventuale errore
VALORE=41/0
    If TRACE=0        #se non ci sono errori
       ...
    Else              #se c'è un errore
      ...
    Endif
TRACE=0               #blocco Finally


$OPENERR
   #Gestisco errore...
   Infbox "Errore calcolo: divisione per zero"
   TRACE=1            #blocco Catch
Resume

Mettendo Resume il programma continua con l'istruzione successiva al punto in cui c'è stato l'errore; mettendo End invece di Resume il programma termina del tutto. Vedere l'help per tutte le funzioni correlate (Errn,Errp...)