El tipo de salida que usa
llamada de la trampa; podría suceder para ser el destino de una instrucción
tanto el código debe escribirse de tal forma que detecte que tipo se utilizo. Algunas
posibilidades son: 1) El código puede ser designado para que el método de alto nivel es el
único lugar donde se atrape un aborto y otro código de nivel medio procese las cosas
normalmente sin permitir la propagación del
regresar un valor especial que no puede ocurrir en una circunstancia normal, o 3) Una
bandera global puede activarse por el método abort antes de abortar.
Ejemplos de uso de Abort
El siguiente es un ejemplo de una aplicación de un robot que se diseño para moverse lejos de
un objeto que detecta con sus cuatro sensores (
CheckSensors
Beep
que
,
CON
#0, None, Left, Right, Front, Back 'Detalles de direccion
PUB Main | Direction
Direction := None
repeat
case CheckSensors
Left : Direction := Right
derecha
Right : Direction := Left
izquierda
Front : Direction := Back
atras
Back : Direction := Front
other : Direction := None
if not \Move(Direction)
Beep
PUB Move(Direction)
result := TRUE
if Direction == None
return
repeat 1000
DriveMotors(Direction)
2: Referencia de Lenguaje Spin –
MayAbort
ABORT
RETURN
,
o
RETURN
Izquierda, Derecha, Frente, Atrás
MotorStuck
, y
son métodos definidos en otro lado.
, no es conocido automáticamente por la
mas alto, o 2) Abortando métodos puede
'Activa sensor
'Objecto a Izq? Mover a la
'Objecto a Der? Mover a la
'Objecto enfrente? Mover hacia
'Objecto atras? Mover al frente
'Si no quedarse quieto
'Mover robot
'Detenido? Bocina
'Asume exito
'Regresa si no hay dirección
'Mueve motor 1000 veces
ABORT
RETURN
. Por lo
). Asuma