Controlar variables no definidas en AppleScript

Uno de los problemas de las variables globales o locales de AppleScript es controlar si la variable está definida o no. Veamos cómo podemos evitar errores de este tipo en AppleScript.

Ejemplo básico del problema

Imaginemos que tenemos una variable global llamada miVariable y queremos consultar si su valor es igual a 1. Tenemos el siguiente código:

global myVariable

if myVariable = 1 then
	display dialog "Vale 1"
end if

Si lo ejecutamos en el editor de AppleScript obtendremos el siguiente mensaje de error: Error de script La variable myVariable no está definida.

Controlando el error

Recordemos que en AppleScript para controlar errores tenemos la estructura Try/endTry.

Consultando la documentación técnica de AppleScript observamos que cuando el motor de ejecución de AppleScript encuentra una variable no definida se dispara el error número -2753.

Para controlar este error en concreto en AppleScript deberíamos codificar la siguiente estructura:

try
-- Código a ejecutar si todo va bien
on error number -2753
-- Código a ejecutar si la variable no está definida
end try

Con esta información podemos deducir que el código correcto para el ejemplo anterior sería algo como:

global myVariable

try
	if myVariable = 1 then
		display dialog "Vale 1"
	end if
on error number -2753
	display dialog "No vale 1"
end try

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.