<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><br class=""><blockquote type="cite" class=""><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">The only practical merit of typed throws I have ever seen someone demonstrate is that it would let them use contextual lookup in a throw or catch. &nbsp;People always say "I'll be able to exhaustively switch over my errors", and then I ask them to show me where they want to do that, and they show me something that just logs the error, which of course does not require typed throws. &nbsp;Every. &nbsp;Single. &nbsp;Time.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""></div></blockquote></div><br class=""><div class="">I think the aspect of documentation shouldn't be underestimated:</div><div class="">People want to know what might go wrong — even if they have only a single reaction to all cases at their disposal.</div><div class=""><br class=""></div><div class="">Typed throws could also help to lessen the tight coupling to Objective-C:</div><div class="">Being forced to declare conformance to a protocol without requirements or even public methods feels very awkward to me.</div><div class="">In some way, throws are typed already, but there's just one type allowed, and it can't be changed.</div><div class=""><br class=""></div><div class="">Imho the big problem of the whole topic is the bad experience people had with typed throws in Java; I don't see a problem in adding typed throws and keeping Error as default type to be thrown if nothing else is specified.</div><div class=""><br class=""></div><div class="">If people want to build huge lists of possible errors… why not? As long as I'm still able to write my own throwing functions as today, I'm fine with that.</div><div class=""><br class=""></div><div class="">- Tino</div></body></html>