Le 19/12/2012 16:45, Brandon Benvie a écrit :
Another benefit is in not polluting the stack trace for actual errors, which is actually a pretty big annoyance now for control flow try...catch wrappers like for of shims.
This is making me realize that maybe the language needs a third way to end a frame. This third way wouldn't propagate as throw does but would be used only as a communication mechanism between the engine and a user-defined function.
Maybe "break"?

In an iterator, one would express "break StopIteration" to stop the iteration. In a .forEach, one would write "break StopIteration" to stop the iteration. What I'm describing might be violently backward incompatible (and doesn't behave well inside switch statement and in cases where there are labels), but I find the thought experiment interesting.

David
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to