Operadores > Operadores de programación > Ejemplo: Uso del operador de programación TRY/ON ERROR
  
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 6x6 y luego utilice la función matrix para definir sus elementos en un valor conocido.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
3. Escriba un programa para definir un rango de elementos en un valor definido por una función en el rango especificado.
Pulse aquí para copiar esta expresión
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.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
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".
Pulse aquí para copiar esta expresión
El bloque on error solo se ejecuta si la prueba try devuelve un error.
Pulse aquí para copiar esta expresión
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.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
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.
Pulse aquí para copiar esta expresión
Pulse aquí para copiar esta expresión
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".