1 votos

En Applescript, ¿cómo puedo obtener un número de línea o un seguimiento de pila en caso de error?

Estoy escribiendo algunos Applescripts bastante complejos, pero cuando algo va mal - el evento de Apple se agotó - o algo similar, no puedo decir con precisión dónde falló.

Por el momento, estoy envolviendo todos los manejadores con bloques try, con un on error que vuelve a levantar el error, con una referencia al nombre del manejador y el valor de una variable que establezco en varios puntos a través del manejador para que pueda aislar el error a algún lugar entre dos puntos.

** ¿Hay alguna manera de hacer que Applescript diga "El evento de Apple se ha agotado en la línea 15 en await(), en la línea 60 en connectRemoteUser(), en la línea 90 en autostartTestUsers()"? sin tener que codificar todo directamente ?

No puedo confiar en el resaltado de ubicación del editor de script porque los errores ocurren intermitentemente cuando el script está fuera en producción.

1voto

adayzdone Puntos 1258

Es feo pero funciona...

try
    set marker to 1
    -- do stuff
    set marker to 2
    -- do stuff
    set marker to 3
    1 / 0
    set marker to 4
on error errMsg number errNum
    tell application "SystemUIServer"
        display alert (marker & space & errMsg & return & return & "Error number " & errNum as text) buttons "Cancel" cancel button "Cancel"
    end tell
end try

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X