02:11 | <Justin Ridgewell> | https://web.archive.org/web/20160328225427/wiki.ecmascript.org/doku.php?id=strawman:catch_guards |
02:12 | <Justin Ridgewell> | If none match, it rethrows |
06:11 | <ljharb> | i can't imagine it working any other way |
16:52 | <littledan> | “Rethrows” sometimes could act differently from “doesn’t catch” with respect to things like dev tools (with the latter being more useful). This is actually a potential advantage of a built in catch guard construct, but could also add significant implementation complexity |
16:53 | <littledan> | (The complexity comes when you need to evaluate JS to determine whether the guard hits, but then go back and “don’t catch” as if that didn’t happen) |
20:40 | <ljharb> | oh true, good point. in that case i'd expect it to mean "doesn't catch", but the desugaring would be basically rethrowing |
20:40 | <ljharb> | to runtime JS i don't think there'd be a difference, only to dev tools/engines? |
20:45 | <littledan> | Right |