我有一些目前看起来像这样的代码:
public void MainFunction()
{
try
{
SomeProblemFunction();
}
catch
{
AllFineFunction();
}
}
private void SomeProblemFunction() { ... }
private void AllFineFunction() { ... }
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在将调用包装SomeProblemFunction在一个try语句周围,因为该函数可能会失败(它依赖于外部Web服务调用).
我的问题是:try声明应该是a)问题函数之外(比如我现在有)或b)问题函数内部?
谢谢.
通常,您希望允许异常传播到应用程序边界.你只想做一些例外的事情之一:
更新
从您的问题来看,您似乎正在为Web服务调用寻找容错解决方案.这是一个更复杂的问题,而不仅仅是"我在哪里试试看?" 您仍然可以将异常处理放在应用程序边界,但是您可以实现容错策略.这需要考虑很多因素,包括异步调用您的Web服务,重试尝试次数等.我建议您搜索Web服务容错.
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |