【问题标题】:Restart Thread on Exception in C# [duplicate]在 C# 中出现异常时重新启动线程 [重复]
【发布时间】:2021-11-04 21:23:51
【问题描述】:

我有一个调用第三方 API 的普通 C# 线程(它在内部进行网络 API 调用),最近我观察到有时第三方 API 会引发 WebTimeOut 异常。我调用 API 的线程不是连续运行的,它只在需要时调用(我不能也不希望从主线程调用第三方 API)。

使用该 API 的该线程正在取消订单,即使第三方 API 失败一次/两次,我也必须重试。我如何确保即使线程有异常(例如调用抛出 WebTimeOut 异常的第三方 API 时),它正在重试或重新启动自身?

【问题讨论】:

标签: c# multithreading exception


【解决方案1】:

为什么不在线程内使用 try-catch 语句。 当抛出异常时,该异常将在该 catch 语句中处理。然后你可以尝试再次请求网络api。

try
{
    // Network API Call
}
catch (WebTimeOutException e)
{
    //...
}
catch (Exception e)
{
    //...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    • 2021-08-31
    • 2016-09-12
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多