Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何防止VisualStudio在发生更深层次的异常后,中断所有等待_C#_Visual Studio_Debugging_Async Await - Fatal编程技术网

C# 如何防止VisualStudio在发生更深层次的异常后,中断所有等待

C# 如何防止VisualStudio在发生更深层次的异常后,中断所有等待,c#,visual-studio,debugging,async-await,C#,Visual Studio,Debugging,Async Await,那么发生的情况是: VisualStudio(对我来说,作为一个最终用户)在五个异步/等待方法中出现了有效的异常 这是我喜欢的行为,因为我可以检查状态,看看发生了什么 通常这条线标为黄色 当我按下continue时,它将在上层堆栈中的每个async/Wait上再次中断。标记为绿色,可能是因为真正的堆栈在下面,但这是我的假设 最后这些我想阻止的,因为这意味着我必须按5次F5才能继续,同时不给我更多的信息,这样我就可以在中断1时找到答案 有没有办法在不禁用1的情况下防止4 注意:这是一个ASP.NE

那么发生的情况是:

  • VisualStudio(对我来说,作为一个最终用户)在五个异步/等待方法中出现了有效的异常
  • 这是我喜欢的行为,因为我可以检查状态,看看发生了什么
  • 通常这条线标为黄色
  • 当我按下continue时,它将在上层堆栈中的每个async/Wait上再次中断。标记为绿色,可能是因为真正的堆栈在下面,但这是我的假设
  • 最后这些我想阻止的,因为这意味着我必须按5次F5才能继续,同时不给我更多的信息,这样我就可以在中断1时找到答案
  • 有没有办法在不禁用1的情况下防止4


    注意:这是一个ASP.NET MVC应用程序,也可以是一个后台Ajax调用。

    看起来您没有捕获异常,然后它将在调用堆栈中冒泡,无论您是否使用调试器检查它。这是故意的。无法清除已发生的异常。调用堆栈已经处于展开状态,这是不可逆的

    一个解决方案可能是添加一个带有条件抛出的try catch,如下所示:

    try
    {
        // code that may crash
    }
    catch
    {
        // inspect the Exception here using VS
        var reThrow = true; // You can change reThrow to false while debugging
        if (reThrow) throw;
    }
    

    看起来您没有捕获异常,然后它将在调用堆栈中冒泡,不管您是否使用调试器检查它。这是故意的。无法清除已发生的异常。调用堆栈已经处于展开状态,这是不可逆的

    一个解决方案可能是添加一个带有条件抛出的try catch,如下所示:

    try
    {
        // code that may crash
    }
    catch
    {
        // inspect the Exception here using VS
        var reThrow = true; // You can change reThrow to false while debugging
        if (reThrow) throw;
    }
    

    嗨,彼得,谢谢你的回答!我对代码的工作方式很满意,我只是不想在同一个异常中断时按Continue五次。是的,我知道存在SQL连接错误-无需总共提醒我五次
    wait
    s:)如果唯一的解决方法是添加try/catch,我不会这样做-因为我不想在调试过程中牺牲代码。在某种程度上,我在寻找“永远不要违背父母的期待”之类的东西。嗨,彼得,谢谢你的回答!我对代码的工作方式很满意,我只是不想在同一个异常中断时按Continue五次。是的,我知道存在SQL连接错误-无需总共提醒我五次
    wait
    s:)如果唯一的解决方法是添加try/catch,我不会这样做-因为我不想在调试过程中牺牲代码。在某种程度上,我在寻找“永远不要违背父母的期待”之类的东西。