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

Reply via email to