什么是处理下列情况下的首选方式:处理switch语句
switch (numberOfActualBytes)
{
case 1: return something1;
case 2: return something2;
case 3: return something3;
case 4: return something4;
}
我肯定知道numberOfActualBytes
由于合同使用在范围内1-4
。
如何编写不会导致not all code paths return a value
错误的代码?
我怀疑我应该在这个函数结束或default switch case
抛出一些异常,但有可能是一个更好的解决方案。
当然,但它掩盖的事实是,除1-4之外的任何内容都违反了函数的语义。 – drdwilcox
Hhhhmm。在这种情况下,如果应该检查超出范围的异常,那么在交换机之前的if结构将减少通过交换机的开销。 if(!((0
Ajai
一点也不。这样做会掩盖switch语句,imo。简单的'default:throw exception;'说代码少得多。 – drdwilcox