【发布时间】:2014-03-02 09:58:54
【问题描述】:
我有一些目前看起来有点像这样的代码:
public void MainFunction()
{
try
{
SomeProblemFunction();
}
catch
{
AllFineFunction();
}
}
private void SomeProblemFunction() { ... }
private void AllFineFunction() { ... }
如您所见,我目前将对 SomeProblemFunction 的调用包装在 try 语句周围,因为该函数可能会失败(它依赖于外部 Web 服务调用)。
我的问题是:try 语句应该是 a) 问题函数之外(就像我现在拥有的那样)还是 b) 问题函数内部?
谢谢。
【问题讨论】:
-
函数中应该有
try可以响应异常。仅根据您提供的信息尚不清楚SomeProblemFunction是否应该捕获异常。但是,为了记录,不建议只使用catch。您应该只捕获您知道可以处理的异常。 -
Herb Sutter 的文章可以清楚地回答你的问题:drdobbs.com/when-and-how-to-use-exceptions/184401836
标签: c#