December 10, 2003 Yet another switch idea | ||||
---|---|---|---|---|
| ||||
As I see it there are 3 camps on the default switch issue No exception (C) Mandatory default Default exception This is an attempt to go half-way between the No exception and default exception camps. This is probably not a new idea, but here goes. Default exception occurs when the user write default: with nothing after it. val = 10; switch (val) { case 5: break; case 6: break; default: //causes exception } switch (val) { case 5: break; case 6: break; default: break; //no exception } switch (val) { case 5: break; case 6: break; //no exception } Con: The problem with this is that people won't be compelled to use the "cool" default exception and so it may become hidden under the blanket. -Anderson |
December 10, 2003 Re: Yet another switch idea | ||||
---|---|---|---|---|
| ||||
Posted in reply to J Anderson | J Anderson wrote:
> As I see it there are 3 camps on the default switch issue
>
> No exception (C)
> Mandatory default
> Default exception
>
> This is an attempt to go half-way between the No exception and default exception camps.
-1. I don't like the idea because the behavior is not intuitive.
Perhaps a "bounded_switch" would be a nice way to make it obvious
what will happen when the default case is not handled.
Maybe an additional parameter:
switch(val) : bounded {}
switch(val) : unbounded {}
switch(val, true); // bounded == true
switch(val, false); // bounded == false
Anyhoo, I am not going to spend too much more energy on this, it is very
clear that Walter will do what he will do. Since I am not writing the
compiler, there is only so much say I have in the matter.
|
Copyright © 1999-2021 by the D Language Foundation