ATRAPA

Sinopsis
ATRAPA etiqueta lista_de_instrucción
CATCH etiqueta lista_de_instrucción
Descripción

Ejecuta las instrucciones en lista_de_instrucción y devuelve lo que las instrucciones devuelve (o no devuelve nada, si las instrucciones no devuelven nada). Si lista_de_instrucción ejecuta una instrucción LANZA con un argumento igual al argumento etiqueta de ATRAPA (con una comparación insensible a las mayúsculas y minúsculas), entonces termina la ejecución inmediatamente. En este caso, si LANZA fue dado un valor, ATRAPA devuelve este valor.

El argumento etiqueta debe ser una palabra. Si etiqueta es la palabra ERROR, entonces cualquier condición de error que sucede mientras que se ejecuta lista_de_instrucción tiene el efecto de ejecutar LANZA "ERROR en lugar de escribir un mensaje de error y devolver control al alto nivel interactivo. En este caso, ATRAPA no devuelve un valor. Además, mientras se ejecuta lista_de_instrucción, la variable ERRACT se vuelve desligado. (Si hay un error mientras ERRACT tiene un valor, se toma ese valor como una lista de instrucciones para ser ejecutado después de escribir el mensaje de error. Típicamente, si ERRACT tiene un valor, es la lista [PAUSA].)

Ejemplo
PARA MIPROGRAMA2
  ESCRIBE [Antes de lanzar]
  LANZA "etiqueta1
  ESCRIBE [Nunca llega aquí porque LANZA retrocede]
FIN

PARA MIPROGRAMA1
  ATRAPA "etiqueta1 [MIPROGRAMA2]
  ESCRIBE [Estoy de vuelta]
FIN

MIPROGRAMA1
Antes de lanzar
Estoy de vuelta

SourceForge.net Logo