Ejemplo: Uso del operador de programación TRY/ON ERROR
Utilice los operadores de programación try-on-error, break, continue y return para tratar las condiciones de error.
1. En la ficha Formato matemático, en el grupo Resultados, pulse en Mostrar ceros a la derecha.
2. Configure una matriz de 6 x 6 y luego utilice la función
matrix para definir sus elementos en un valor conocido.
3. Escriba un programa para definir un rango de elementos en un valor definido por una función en el rango especificado.
El programa falla porque cuando x=0 y y=0, se intenta dividir (x+y) por cero.
4. Cambie el programa para que el elemento (0,0) de la nueva matriz tome el valor del elemento correspondiente de la matriz Z en lugar del valor de división por cero.
El programa garantiza que el elemento (0,0) no se define en un valor de división por cero.
5. Utilice los operadores try y break para capturar la condición de error y permitir que se ejecute el programa. La condición de error, dividir por cero, se representa mediante la cadena "DBZ".
El bloque on error solo se ejecuta si la prueba try devuelve un error.
Mathcad ejecuta el programa de la siguiente manera:
a. El primer bucle comienza por x=0 y y=0.
b. El operador try comprueba si la expresión contiene errores y obtiene un error de división por cero. Esto indica al programa que se debe ejecutar el bloque on error.
c. El bloque on error ejecuta su primera sentencia y define el elemento (0,0) en "DBZ" y, a continuación, el operador break detiene la ejecución del bucle actual (x=0, y=0..5). Como consecuencia, los elementos row=0 restantes no cambian.
d. El programa salta al siguiente bucle x(x=1, y=0..5) y, en ausencia de otros errores, escribe los elementos row=1.
e. El programa continúa ejecutando los demás bucles hasta que abarca los rangos especificados.
6. Reemplace el operador break por el operador de continuación y observe la salida diferente.
A diferencia del operador break, el operador continue continúa en la siguiente iteración del bucle actual. Además, los elementos restantes de row=0 y de la matriz se definen en (x+y)/(10x-y) como anteriormente.
7. Reemplace el operador continue por el operador return y observe la salida diferente.
A diferencia del operador continue, que continúa con la ejecución del bucle actual, el operador return detiene el programa y devuelve Y3 con el elemento (0, 0) definido en "DBZ".