Do-expressions will solve this: let stuff = do { try { f() } catch (e) { 0 } }
The inflation of braces is somewhat ugly there, and we might want to allow dropping some of them. /Andreas On 12 July 2015 at 10:26, Gary Guo <nbdd0...@hotmail.com> wrote: > This is not possible as it contracts with existing semantics. Wrap it with > a function instead. > > ------------------------------ > From: jbuca...@me.com > Subject: Allow `try…catch` blocks to return a value. > Date: Sun, 12 Jul 2015 06:53:52 +0900 > To: es-discuss@mozilla.org > > > Allow `try…catch` blocks to return a value. > > Sometimes I wrap a `try…catch` in a function and return a value based in > whether there was an error or not. > > It would be useful if you could use `return` inside a `try…catch` block to > accomplish the same. > > > ```js > let stuff = try { > return ... > } catch (e) { return … ? … : ... } > ``` > _______________________________________________ es-discuss mailing list > es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss > > _______________________________________________ > es-discuss mailing list > es-discuss@mozilla.org > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss