D - Yet another switch idea
- J Anderson (30/30) Dec 10 2003 As I see it there are 3 camps on the default switch issue
- Berin Loritsch (12/20) Dec 10 2003 -1. I don't like the idea because the behavior is not intuitive.
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
Dec 10 2003
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.
Dec 10 2003