Exception handling vs. hasNext()
Garrett Smith
dhtmlkitchen at gmail.com
Fri Nov 16 17:30:01 PST 2007
Which is better?
var nodes : int;
var widgetMap = Widget.instances; // a map.
var it:Iterator<string> = widgetMap.getKeys();
-- this: --
try {
widgetMap.get(it.next()).hide();
}
catch(Exception e) {
if(e instanceof StopIteration) {
}
}
-- or this: --
while(it.hasNext()) {
widgetMap.get(it.next()).hide();;
}
It might be the case that there might be some error
I want to catch other than StopIteration. In that case, to be
backwards-compatible and work across implementations, the developer
must use conditional
checks inside 1 catch block.
A hasNext() would not prevent the developer from writing such code.
Omitting hasNext() forces developers to use exception handling for
non-exceptional condition.
How does using try/catch for normal termination of the loop look?
It looks like all exceptions are unchecked in ES4. correct? (I cannot
verify this to be true because
I am unable to access the spec namespace on ecmascript.org.)
More information about the Es4-discuss
mailing list