The if condition doesn't need to be limited to instance of... catch (err if !isNaN(err.status))
Aside: entering code in a phone is hard... -- Michael J. Ryan - [email protected] - http://tracker1.info Please excuse grammar errors and typos, as this message was sent from my phone. On Mar 17, 2017 11:29 PM, "Jordan Harband" <[email protected]> wrote: > `instanceof` doesn't work across realms (iframes, for example). If we > introduced conditional catch blocks, I'd want a more reliable matching > mechanism than instanceof. > > On Fri, Mar 17, 2017 at 5:01 PM, Zach Lym <[email protected]> wrote: > >> Firefox supports the following conditional `catch` syntax: >> >> try { >> let result = await (); >> } catch (e if e instanceof ErrorType) { >> ... >> } >> >> >> This was originally implemented in Spidermonkey as part of an ES proposal >> around 2000, but it was rejected for unknown reasons [0]. A 2012 email to >> this list suggesting standardization of the syntax was passed over in favor >> of waiting for a generic pattern matching facility [0][1]. Later >> discussion suggests that the pattern matching proposal would have been very >> slow [2]. A proposal for a Java-like type-based conditional was proposed in >> 2016, but was criticized for lacking generality [2]. >> >> If the above summary is accurate, I would like to try to standardize the >> vanilla syntax once again. It's imperative, general, and doesn't preclude >> the use of any hypothetical pattern matching functionality. >> >> Javascript's control flow has improved dramatically in recent years: >> promises got rid of callbacks, `async`/`await` clipped promise chains, and >> classes make it easy to create custom Error objects that preserve >> stacktraces. Conditional catch is the last bit of syntax needed to make JS >> look like it was designed to handle asynchronous functions. >> >> Thoughts? >> >> -Zach Lym >> >> [0]: https://esdiscuss.org/topic/conditional-catch-clause#content-10 >> [1]: https://esdiscuss.org/topic/conditional-catch >> [2]: https://esdiscuss.org/topic/error-type-specific-try-catch-bl >> ocks#content-14 >> >> _______________________________________________ >> es-discuss mailing list >> [email protected] >> https://mail.mozilla.org/listinfo/es-discuss >> >> > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

