【发布时间】:2011-02-11 04:57:59
【问题描述】:
我有一个返回 int 的插入查询。基于该 int 我可能希望抛出一个异常。这适合在 switch 语句中执行吗?
switch (result)
{
case D_USER_NOT_FOUND:
throw new ClientException(string.Format("D User Name: {0} , was not found.", dTbx.Text));
case C_USER_NOT_FOUND:
throw new ClientException(string.Format("C User Name: {0} , was not found.", cTbx.Text));
case D_USER_ALREADY_MAPPED:
throw new ClientException(string.Format("D User Name: {0} , is already mapped.", dTbx.Text));
case C_USER_ALREADY_MAPPED:
throw new ClientException(string.Format("C User Name: {0} , is already mapped.", cTbx.Text));
default:
break;
}
我通常会在开关中添加 break 语句,但它们不会被击中。这是一个糟糕的设计吗?请与我分享任何意见/建议。
谢谢, ~ck 在圣地亚哥
【问题讨论】:
-
看起来您正在尝试将返回码映射到异常。你的意图很明确,所以我会说这个解决方案很好。
标签: c# exception switch-statement throw