【问题标题】:Visual studio does not break on user-handled exception in ASP.NETVisual Studio 不会因 ASP.NET 中的用户处理异常而中断
【发布时间】:2019-10-06 01:56:07
【问题描述】:

只要我自己的代码中有 try/catch 语句,异常仍然会中断到调试器。

  • 当此异常类型为 抛出。 我不想这样做,因为我确实想在我没有 try/catch 的所有其他情况下中断。
  • 我可以转除非从这个 dll 中抛出。出于完全相同的原因,我不想那样做。当我不自己尝试/捕获它时,我想在该 DLL 中破坏它是有正当理由的。

我只想在有 try/catch 语句时不中断,因为我已经在处理它,所以我不想被每个失败的外部调用所困扰。 p>

我该怎么做?

更新

这似乎主要是 ASP.NET 的问题。可能是因为在最外层的 ASP.NET 层中每个请求都有一个大的 try/catch。

所以我在某种程度上寻找的是:

仅在外部代码中中断尝试/捕获。

【问题讨论】:

  • 这是您的代码还是外部库?
  • 这是我的代码。

标签: c# visual-studio debugging exception


【解决方案1】:

也许我不明白你的问题,但如果你只是取出“抛出此异常类型时中断”,你应该有你想要的确切行为。如果没有捕获到异常,调试器仍然会中断。这个复选框唯一能做的就是告诉调试器中断即使异常被捕获

如果这不是您想要的行为,我可能需要澄清一下才能理解您的问题。

编辑:
由于您现在已经编辑了您的问题并且您似乎正在寻找“仅打破外部代码中的尝试/捕获。”,我只能告诉您,我不知道这样的功能并且从未使用过类似的东西。但这并不意味着它不存在。

【讨论】:

  • 嗨@Joelius,也许它必须使用在最外层代码中有一个大的try/catch 的ASP.NET。当我取消选中此框时,它将永远不会中断。所以当异常没有被捕获时也不会(在我的代码中)。
  • 嗯,这很奇怪。我最近使用了很多 ASP 并且没有任何类似的问题。您是否放置了您自己提到的 try/catch 或者您在谈论 asp 中的某些内容?因为如果那是您的,请删除它:)您是否还搜索了代码中的所有“尝试”外观?也许有一个捕获会吞噬你错过的一切。
  • 嗨@Joelius,您使用的是ASP.NET 还是ASP.NET Core?我没有封装 try/catch,但我认为 ASP.NET 中有一个可以防止您的应用程序崩溃 - 并且只显示黄色错误页面。
  • 我使用核心。也许您正在考虑管道中的 app.UseExceptionPage?或者您所说的“黄色错误页面”是什么意思?您可以在 Startup 类中注释掉 UseExceptionPage 和 UseDeveloperExceptionPage ,看看这是否有帮助(您必须从异常中去掉勾号)。此外,如果您使用模板,则可能会检查环境是否处于开发状态,然后才会添加异常页面。检查 Startup.cs 中的那些东西并尝试一些组合,也许你会得到它。
猜你喜欢
  • 2013-06-02
  • 1970-01-01
  • 2011-05-31
  • 2018-04-07
  • 2011-12-02
  • 2020-03-02
  • 2010-09-12
  • 1970-01-01
相关资源
最近更新 更多