DIP33: A standard exception hierarchy
Tobias Pankrath
tobias at pankrath.net
Wed Apr 3 08:41:52 PDT 2013
On Wednesday, 3 April 2013 at 15:33:53 UTC, deadalnix wrote:
> On Wednesday, 3 April 2013 at 09:44:23 UTC, Lars T. Kyllingstad
> wrote:
>> I don't see the incompatibility. This is exactly the purpose
>> of final switch. If the user didn't want to be forced to
>> handle a new error category, they'd use normal switch instead.
>>
>
> This is a good thing in your own code. But in phobos, this is a
> guarantee to break a lot of user code when adding to the enum.
>
You're using final switch because you want to make statically
sure that you consider every enum member. If you now add a
another enum value the code is by definition broken regardless of
dmd issues an error or not. The same is true for any kind of
virtual dispatch (if a normal switch with default: wasn't enough
your base class method, won't be either).
>> You have yet to specify the problems with switch in OOP.
>> Maybe you meant something else, that final switch doesn't
>> solve?
>>
>
> The idiomatic way to execute code depending on a value in OOP
> is virtual dispatch.
More information about the Digitalmars-d
mailing list