On Sunday, 25 June 2017 at 17:38:14 UTC, mckoder wrote:
I am disappointed that D doesn't have checked exceptions.

I wonder what could be done with something like this:

void foo(int a)
{
    if (a > 0)
        throw new BlahException("blah");
    throw new BloopException("bloop");
}

unittest
{
    // NEW FEATURE HERE
    alias Exceptions = __traits(thrownTypes, foo);
static assert (staticIndexOf!(BlahException, Exceptions) >= 0); static assert (staticIndexOf!(BloopException, Exceptions) >= 0);
}

I'm imagining one could use that to do quite a lot of what checked exceptions provide.

Reply via email to