<story><title>Proposal: A built-in Go error check function, try</title><url>https://github.com/golang/proposal/blob/master/design/32437-try-builtin.md</url></story><parent_chain><item><author>umurgdk</author><text>I am strongly against this. `try` seems exactly like a function yet it is not acting like a function at all. People wouldn&amp;#x27;t expecting calling a function may return from the caller. And there is a reason why golang doesn&amp;#x27;t have macros. With macros all kind of craziness would be possible, and would really difficult to read different kind of projects&amp;#x27; code.</text></item></parent_chain><comment><author>gnud</author><text>Agreed - I thought this looked pretty reasonable, if a bit parenthesis-heavy, until I saw this example:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    func printSum(a, b string) error {
        fmt.Println(
                &amp;quot;result:&amp;quot;,
                try(strconv.Atoi(a)) + try(strconv.Atoi(b)),
        )
        return nil
    }
&lt;/code&gt;&lt;/pre&gt;
When you nest the calls to try inside another method call, like this, the control flow really becomes obscured.</text></comment>
<story><title>Proposal: A built-in Go error check function, try</title><url>https://github.com/golang/proposal/blob/master/design/32437-try-builtin.md</url></story><parent_chain><item><author>umurgdk</author><text>I am strongly against this. `try` seems exactly like a function yet it is not acting like a function at all. People wouldn&amp;#x27;t expecting calling a function may return from the caller. And there is a reason why golang doesn&amp;#x27;t have macros. With macros all kind of craziness would be possible, and would really difficult to read different kind of projects&amp;#x27; code.</text></item></parent_chain><comment><author>lifty</author><text>I dislike this proposal for the same reason. Looks like a function but does not behave like a normal one. I personally don&amp;#x27;t mind the verbose error handling in go and I think it&amp;#x27;s clear and easy to follow.</text></comment>