On Thursday, 6 February 2014 at 22:19:42 UTC, Dicebot wrote:
On Thursday, 6 February 2014 at 22:15:11 UTC, Brad Anderson wrote:
Personally I don't think bad user input qualifies as an exceptional case because it's expected to happen and the program is expected to handle it (and let the user know) when it does. That's just a matter of taste though.

I agree. It kills the whole concept of "exceptions are rare so they don't need to be fast when thrown". But it is how quite lot of Phobos is currently designed and, in my opinion, is biggest design mistake of vibe.d too (it uses exceptions to propagate HTTP status codes)

I must admit that I am guilty of sometimes using exceptions for routine control flow too. It's just so convenient compared to validation/consumption.

Maybe we should make a list of Phobos functions that throw exceptions and ensure that (for the ones where this makes sense) they non-throwing validators available. If we can stop gc allocating them that'd be even better but I don't think them being gc allocating should hold up @nogc.

Reply via email to