Moin,
try-catch ist zur Behandlung unvorhergesehener Zustände da, nicht zur allgemeinen Ablaufsteuerung. In den Ablauf einer Funktion kann man meines Wissens nicht von außen eingreifen. Die ganze Sache hängt auch davon ab, wie Multitasking in Javascript realisiert ist. Wenn die Events erst dann feuern, wenn deine Funktion fertig ist, geht keine Unterbrechung.
ja, meines Wissens ist das so, aber mein Wissen ist auch nicht besonders solide.
AFAIK werden zusammenhängende Code-Abschnitte auch ausgeführt, ohne dass man sie kontrolliert unterbrechen könnte; auch Events werden während dieser Ausführungszeit nicht bearbeitet. Das findet erst wieder statt, wenn der Code-Abschnitt komplett abgearbeitet ist (und zwar nicht unbedingt nur die aktuelle Funktion, sondern der ganze übergeordnete Call-Stack), oder wenn der Script-Code von sich aus in einen Wartezustand gelangt, etwa bei einem alert() oder beim Warten auf einen synchronen AJAX-Request.
Ich war noch nicht in der Notwendigkeit, sowas machen zu müssen. Meine Überlegungen sind deswegen teilweise theoretischer Natur und ohne die Erfahrung dessen, was realisierbar ist.
Ich überlege außerdem, welche Anforderungen einen solchen Kontrollfluss erfordern. Mag sein, dass es ein sinnvolles Szenario gibt, aber mir kommt das eher konfus vor.
"Geh mal Holz hacken, bis ich Halt! schreie, und dann zählst du Kartoffeln."
So long,
Martin
--
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy