在我粗略的调查中,我认为任何错误都可以通过使用 if-then-else 结构来处理。下面举个简单的例子。
除以零可以用
处理int x=1;
int y=0;
if(y==0)
Console.WriteLine("undefined");
else
Console.WriteLine("x/y={0}",x/y);
替换 try-catch 等价物
int x=1;
int y=0;
try
{
Console.WriteLine("x/y={0}",x/y);
}
catch
{
Console.WriteLine("undefined");
}
如果try-catch可以换成if-then-else,推荐哪个?
最佳答案
您永远不应该使用异常来控制流程。 异常(exception)应该是“异常(exception)”。如果你知道一些数据验证的规则,你应该使用正常的 if/then/elses。
如果您正在执行一些可能会以多种方式出错的操作(例如连接到数据库),您应该将该操作放入 try-catch block 中并采取相应措施。
唉,将某物视为“特殊”的选择取决于设计师的判断。
编辑:另外,不要低估日志记录的力量。自从我开始使用日志记录框架以来,我的调试时间减少了一半。
关于c# - 如果try-catch可以换成if-then-else,推荐哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18908773/