Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pas d'équivalent à ExitToShell() dans AppleScript ?

3 réponses
Avatar
Lionel Mychkine
Je travaille sur un AppleScript dans lequel le traitement principal
appelle un handler qui lui-même appelle un autre handler et ainsi de
suite.

Lorsque je suis dans le handler de niveau n, je teste la présence d'une
erreur et si elle se produit, je suis obligé de remonter en sens inverse
toute la chaine des handlers pour fournir l'information au traitement
principal qui alors met fin à l'exécution du script.

Je cherche une instruction de type ExitToShell() pour interrompre le
traitement dans le handler de niveau n sans avoir à remonter toute la
chaîne en renseignant l'appelant avec une valeur de retour.

on compute()
try
[...]
on error
display dialog [...]
ExitToShell()
end try
end compute

J'ai cherché mais je n'ai rien trouvé. "tell current application to
quit" ou "tell me to quit" génèrent une erreur.

C'est quand même bizarre que le cas ne soit pas prévu dans le cadre
d'une gestion d'erreurs. Tous les langages de haut niveau l'intégrent.

--
Lionel Mychkine

3 réponses

Avatar
Patrick Stadelmann
In article <4bed1c0d$0$20276$,
Lionel Mychkine wrote:

Je cherche une instruction de type ExitToShell() pour interrompre le
traitement dans le handler de niveau n sans avoir à remonter toute la
chaîne en renseignant l'appelant avec une valeur de retour.



Il faut générer une erreur de type "user cancelled" :

error number -128

Patrick
--
Patrick Stadelmann
Avatar
Lionel Mychkine
In article
,
Patrick Stadelmann wrote:

Il faut générer une erreur de type "user cancelled" :



Alors là, je n'y aurais jamais pensé. Même après avoir lu la doc
"AppleScript Language Guide" cent fois, de la première à la dernière
ligne.

Le moins que l'on puisse dire est que cette approche n'est pas
documentée.

Merci Patrick ;-)

--
Lionel Mychkine
Avatar
Patrick Stadelmann
In article <4bed3fdb$0$2047$,
Lionel Mychkine wrote:

In article
,
Patrick Stadelmann wrote:

> Il faut générer une erreur de type "user cancelled" :

Alors là, je n'y aurais jamais pensé. Même après avoir lu la doc
"AppleScript Language Guide" cent fois, de la première à la dernière
ligne.

Le moins que l'on puisse dire est que cette approche n'est pas
documentée.



Pas directement, mais il est dit quelque part que c'est ce que renvoie
"display dialog" quand l'utilisateur appuie sur "Cancel". Et comme
appuyer sur ce bouton interrompt l'exécution, on peut en déduire que
générer un telle erreur aura le même effet !

Patrick
--
Patrick Stadelmann