En aquest tema, aprendrem com gestionar errors i depurar codi en MUMPS. La gestió d'errors és crucial per assegurar que les aplicacions funcionin de manera fiable i robusta. La depuració ens ajuda a identificar i corregir errors en el codi.

  1. Introducció a la Gestió d'Errors

1.1. Què és la Gestió d'Errors?

La gestió d'errors implica detectar, manejar i registrar errors que es produeixen durant l'execució d'un programa. Això permet que el programa continuï funcionant o es tanqui de manera controlada.

1.2. Tipus d'Errors

  • Errors de Sintaxi: Errors en la forma en què s'escriu el codi.
  • Errors d'Execució: Errors que es produeixen durant l'execució del programa.
  • Errors Lògics: Errors en la lògica del programa que produeixen resultats incorrectes.

  1. Mecanismes de Gestió d'Errors en MUMPS

2.1. La Comanda ZTRAP

La comanda ZTRAP s'utilitza per establir un punt de captura d'errors. Quan es produeix un error, el control es transfereix a l'etiqueta especificada.

SET $ZTRAP="ERROR^MYROUTINE"

2.2. La Variable $ZERROR

La variable especial $ZERROR conté informació sobre l'últim error que es va produir.

WRITE "Error: ", $ZERROR, !

2.3. Exemple de Gestió d'Errors

MYROUTINE
    SET $ZTRAP="ERROR^MYROUTINE"
    NEW X,Y
    SET X=10,Y=0
    SET RESULT=X/Y
    WRITE "Resultat: ", RESULT, !
    QUIT

ERROR
    WRITE "S'ha produït un error: ", $ZERROR, !
    QUIT

En aquest exemple, si es produeix una divisió per zero, el control es transfereix a l'etiqueta ERROR, on es mostra un missatge d'error.

  1. Depuració en MUMPS

3.1. La Comanda ZBREAK

La comanda ZBREAK s'utilitza per establir punts de ruptura en el codi. Això permet aturar l'execució del programa en punts específics per inspeccionar l'estat del programa.

ZBREAK MYROUTINE+3

3.2. La Comanda ZSHOW

La comanda ZSHOW s'utilitza per mostrar informació sobre l'estat actual del programa, incloent variables locals i globals.

ZSHOW "L"

3.3. Exemple de Depuració

MYROUTINE
    NEW X,Y
    SET X=10,Y=0
    ZBREAK  ; Estableix un punt de ruptura aquí
    SET RESULT=X/Y
    WRITE "Resultat: ", RESULT, !
    QUIT

En aquest exemple, el programa s'aturarà abans de la divisió per zero, permetent inspeccionar les variables X i Y.

  1. Exercicis Pràctics

Exercici 1: Gestió d'Errors

Escriu un programa que intenti obrir un fitxer inexistent i gestioni l'error de manera adequada.

OPENFILE
    SET $ZTRAP="ERROR^OPENFILE"
    OPEN "inexistent.txt":("R"):1
    USE "inexistent.txt"
    WRITE "Fitxer obert correctament", !
    CLOSE "inexistent.txt"
    QUIT

ERROR
    WRITE "S'ha produït un error en obrir el fitxer: ", $ZERROR, !
    QUIT

Exercici 2: Depuració

Escriu un programa que calculi la suma de dos nombres i utilitza ZBREAK per aturar l'execució abans de la suma per inspeccionar les variables.

SUMA
    NEW A,B,SUM
    SET A=5,B=10
    ZBREAK  ; Estableix un punt de ruptura aquí
    SET SUM=A+B
    WRITE "La suma és: ", SUM, !
    QUIT

  1. Resum

En aquesta secció, hem après com gestionar errors i depurar codi en MUMPS. Hem vist com utilitzar ZTRAP per capturar errors i $ZERROR per obtenir informació sobre l'error. També hem après a utilitzar ZBREAK i ZSHOW per depurar el codi. La gestió d'errors i la depuració són habilitats essencials per a qualsevol programador, ja que ajuden a assegurar que el codi sigui robust i fiable.

En el següent tema, explorarem la programació modular en MUMPS, que ens permetrà organitzar el codi de manera més eficient i mantenible.

© Copyright 2024. Tots els drets reservats