一段“使用异常控制流”的代码会是什么样子的?我试图找到一个直接的C#示例,但是找不到。为什么它不好呢?
谢谢
发布于 2010-07-16 04:23:53
它大体上等同于goto,除了在单词Exception方面更糟糕,而且开销更大。您告诉代码跳转到catch块:
bool worked;
try
{
foreach (Item someItem in SomeItems)
{
if (someItem.SomeTestFailed()) throw new TestFailedException();
}
worked = true;
}
catch(TestFailedException testFailedEx)
{
worked = false;
}
if (worked) // ... logic continues正如您所看到的,它正在运行一些(虚构的)测试;如果测试失败,就会抛出一个异常,并且worked将被设置为false。
当然,直接更新bool worked要容易得多!
希望这能有所帮助!
https://stackoverflow.com/questions/3259660
复制相似问题