<div dir="ltr"><div>Absolutely there is a reason. Exceptions are very expensive, especially in low-level functions. In the situation you're talking about, it's a simple logic error in the calling code. That situation will never happen in bug-free code.</div><div>This is very different from the situation with something like a file operation where "disk full" is a genuine exceptional situation.</div><div><br></div><div><br></div><br><div class="gmail_quote"><div dir="ltr">On Thu, 1 Nov 2018 at 09:02, Richard Palme via phobos <<a href="mailto:phobos@puremagic.com">phobos@puremagic.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Is there a reason why so few functions in phobos throw <br>
exceptions? For example there is std.bitmanip.BitArray.flip that <br>
gets an index as argument and flips the bit that the index <br>
references, and this function does not throw an exception when <br>
given an invalid argument.<br>
<br>
I'd be willing to fix this, but first I wanted to ask if there <br>
might be a reason for this. I think that throwing an exception <br>
should be preferable to a segmentation fault (which happens in <br>
the case of BitArray.flip).<br>
_______________________________________________<br>
phobos mailing list<br>
<a href="mailto:phobos@puremagic.com" target="_blank">phobos@puremagic.com</a><br>
<a href="http://lists.puremagic.com/mailman/listinfo/phobos" rel="noreferrer" target="_blank">http://lists.puremagic.com/mailman/listinfo/phobos</a><br>
</blockquote></div></div>