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