It's currently 'catch(auto e : E1, E2, E3)' but changing the syntax is
trivial if everyone decides they want it.
We should be consistent and allow to specify a type instead of auto.
The exception types (E1, E2, E3) should expand TypeTuples similar to how
you
declare base classes.
alias TypeTuple!(SocketTimeOut, SocketFooBar) SocketExceptions;
try
{
bind(...);
listen(...);
}
catch (IOException io : SocketExceptions)
{
}
As for the syntax how about '=' assigning a catched exception.
catch(IOException io = E1, E2, E3)
catch(auto io = E1, E2, E3)
The colon is used for type conversions, where left implicitly converts to
right.
catch(E1, E2, E3 : IOException io)
catch(E1, E2, E3 : auto io)