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