<div dir="ltr">On Mon, Aug 19, 2013 at 5:24 PM, Tom Ellis <span dir="ltr">&lt;<a href="mailto:tom-lists-haskell-cafe-2013@jaguarpaw.co.uk" target="_blank">tom-lists-haskell-cafe-2013@jaguarpaw.co.uk</a>&gt;</span> wrote:<br>
<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">
On Mon, Aug 19, 2013 at 05:15:39PM -0400, <a href="mailto:jabolopes@google.com">jabolopes@google.com</a> wrote:<br>
&gt; But I would like to see more code move away from exceptions and into<br>
&gt; types like &quot;Maybe&quot; or &quot;Either&quot; or other types defined for the<br>
&gt; particular situation (as some people were suggesting in the beginning<br>
&gt; of the thread). And the reason for this it is because when you program<br>
&gt; against types you have to make a decision whether to handle the error<br>
&gt; or let it bleed through: you can&#39;t ignore the choice because you can&#39;t<br>
&gt; ignore the type. On the other hand, with exceptions, you can easily<br>
&gt; forget to handle the exception if you&#39;re not looking at the<br>
&gt; documentation at the time when you write the code.<br>
<br>
</div>This is /exactly/ the reason to avoid exceptions where possible.<br>
<span class=""><font color="#888888"><br>
Tom<br>
</font></span><div class=""><div class="h5"><br></div></div></blockquote><div><br></div><div>And tangentially related, it&#39;s why Go uses error return values (with functions being able to &quot;return multiple values&quot;), e.g. <a href="http://blog.golang.org/error-handling-and-go">http://blog.golang.org/error-handling-and-go</a></div>
</div></div></div>