gpt4 book ai didi

c# - try catch 语句的位置

转载 作者:太空狗 更新时间:2023-10-29 18:13:19 25 4
gpt4 key购买 nike

我有一些代码目前看起来有点像这样:

public void MainFunction() 
{
try
{
SomeProblemFunction();
}
catch
{
AllFineFunction();
}
}

private void SomeProblemFunction() { ... }
private void AllFineFunction() { ... }

如您所见,我目前正在将对 SomeProblemFunction 的调用包装在 try 语句周围,因为该函数可能会失败(它依赖于外部网络服务调用) .

我的问题是:try 语句应该是 a) 在问题函数之外(就像我现在拥有的那样)还是 b) 在问题函数内部?

谢谢。

最佳答案

通常,您希望允许异常传播到您的应用程序边界。您只想做以下几件事中的一件,但有异常(exception):

  • 包起来
  • 替换它
  • 让它传播

更新

从您的问题来看,您似乎正在为 Web 服务调用寻找容错解决方案。这是一个比简单的“我把 try-catch 放在哪里?”更复杂的问题。您仍然会将异常处理放在应用程序边界,但您会在那里实现容错策略。这需要考虑很多因素,包括异步调用您的 Web 服务、重试次数等。我建议搜索 Web 服务容错。

关于c# - try catch 语句的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21586260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com