<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Apr 21, 2015 at 7:56 AM, Yitzchak Gale <span dir="ltr"><<a href="mailto:gale@sefer.org" target="_blank">gale@sefer.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Michael Snoyman wrote:<br>
> Can you give an example of a concrete problem you're<br>
> expecting to run into?<br>
<br>
</span>Package foo uploads a new version with a critical bug fix.<br>
As is often the case, this new version also supports updated<br>
dependencies, including exceptions. The new exceptions<br>
breaks the old SomeException type, so foo is forced to<br>
specify a lower bound that excludes the old exceptions.<br></blockquote><div><br></div><div>This only happens when a package depends on receiving or adding extra exception info.  I don't think this will be necessary for most packages.  The primary use-case I'm seeing for this extra exception info is being able to display it to the user.  Since this will be done by 'displayException' / 'show' / the default exception handler, there's no need for user code to do anything special to get it.</div><div><br></div><div>In the cases where we do have code that cares about this extra exception info, we would indeed be doing something that wasn't possible before, and so have issues with backwards compatibility.</div><div><br>For example, when an exception is thrown while 'bracket' is handling an exception, it would be quite handy to be able to catch the original exception.  This is simply not possible today, and so it is not possible to offer this in a way which works on earlier versions of base.<br><br>I'd be quite concerned if this didn't offer some additional power that wasn't available before.  Isn't that the point of changing things / adding such features?</div></div></div></div>