1 votos

¿Por qué repetir una sentencia try en AppleScript antes de devolver un error?

Estoy intentando aprender AppleScript y he visto el siguiente ejemplo para la aplicación Fotos:

try
    set thisId to id of item 1 of sel
on error errText number errNum
    display dialog "Error: cannot get the image ID" & errNum & return & errText & "Trying again"

    try
        delay 2
        set thisId to id of item 1 of sel
    on error errTexttwo number errNumtwo
        display dialog "Skipping image due to repeated error: " & errNumtwo & return & errTexttwo
        error "giving up"
        return
    end try --second attempt
end try

¿Por qué hay un segundo try declaración haciendo lo mismo después de un breve retraso antes de rendirse? Lo mismo se hace en varios lugares en este ejemplo script.

¿Es ésta una forma normal de manejar los errores en AppleScript o es específica para Photos y, si es así, por qué?

0 votos

El ejemplo script se encontró aquí: discussions.apple.com/docs/DOC-250000436

0voto

David Anderson Puntos 2189

Applescript parece sufrir problemas de sincronización que normalmente se resuelven utilizando un retardo. A menudo, este retardo debe ser ajustado para adaptarse a la velocidad de un modelo particular de Mac. En otras palabras, el retardo codificado en el AppleScript puede funcionar en un Mac nuevo más rápido, pero debe aumentarse cuando se ejecuta en un Mac más lento.

0 votos

Entiendo correctamente que existe la posibilidad de que un error encontrado en el intento "externo" sea causado por un problema de tiempo y para cuidar esta situación se intenta hacer el mismo ting una vez más. Y que esto es algo específico de AppleScript - lo que significa que no se puede confiar en la ejecución de un script, porque a mi entender las declaraciones dentro del try son internas de AppleScript y no tiene nada que ver con ningún tipo de interacción con Photos.

0 votos

Tienes razón. No se puede confiar en la ejecución de un script. Supongo que cuando es necesario un retraso, hay que utilizar un retraso de al menos una hora. Sólo así se puede confiar en la ejecución del script.

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