<div dir="ltr">Exceptions have proved to be one of the worst ideas ever added to C++.  It's incredibly expensive code all around, from uwninding the stack to handling the exception.<div><br></div><div>Actually, all code ought to be exceptionless by design, but most people never bothered to learn group theory and once you add a single up-chuck (throw) the whole system immediately becomes a mess.</div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Apr 19, 2014 at 2:02 AM, Oren Hurvitz <span dir="ltr"><<a href="mailto:orenh@kitely.com" target="_blank">orenh@kitely.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>My fix has two parts.<br><br>The first is that the Store() operation needs to understand failures correctly. There has been a consensus that it should, so I'll add that to Git.<br>
<br>The second is that MakeRequest() should propagate exceptions, instead of just returning null (which is what it does now). So far there have been 3 votes for this (me, Mike Chase, and Justin) and 2 against (Melanie, Diva). That's very close; does anyone else want to make their position known?<br>

<br></div>Next, I see that there's confusion in this discussion about what happens in Store() if MakeRequest() throws an exception. And the answer is, nothing will be different, because Store() already correctly catches exceptions. That is precisely how it should work: the low-level communications system reports when it has failed, and higher levels (that know the business value of the call) decide how to handle it. However, MakeRequest() is called from other places as well and they might need to be changed to handle exceptions better.<br>

<br></div>
<br>_______________________________________________<br>
Opensim-dev mailing list<br>
<a href="mailto:Opensim-dev@opensimulator.org">Opensim-dev@opensimulator.org</a><br>
<a href="http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev" target="_blank">http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>No essence.  No permanence.  No perfection.  Only action.
</div>