|
|
1
4
VisualStudio将显示它所在位置的调用堆栈 . 在一个 异常,它将在引发该异常的位置停止。i、 e.你的“抛出”声明。但是,如果您的代码处理异常,那么VisualStudio会假定您知道自己在做什么,并忽略异常。它只会在将异常重新抛出Main()时捕获异常,因为您没有在程序中处理它。 如果要在visual studio中捕获原始异常,有两个选项:
|
|
|
2
3
您可以抛出一个新异常,将异常e作为内部异常放置。然后读取内部异常的堆栈跟踪。 |
|
3
3
事实证明,如果你知道正确的搜索词,那么 是 我试图解决的问题的答案。在MSIL中,它被称为 异常过滤 和 it is available in VS2003 . 在Visual Basic.NET中,有一个名为“catch when”的构造,它仅在给定谓词通过时执行catch。 This MSDN blog 有一个很好的例子说明了catch when在VB.NET中是如何工作的,与C#的catch投掷结果(如我的)相比。 Exception Filter Inject 这可用于“为没有异常过滤器支持的语言(如C#)提供异常过滤器支持”——关键是它在现有程序集上运行,因此如果您最终使用它,它确实会在构建过程中引入一个尴尬的阶段。
我 受通缉的 要做到这一点,不知何故让我找到了异常过滤,就是能够在运行时设置要捕获的异常的类型——如果假设异常冒泡,我会尝试捕获一个永远不会被调用的子类异常,否则我只会捕获一个基本异常。我真的不确定这在.NET1.1中是否可行,因为这基本上需要一个泛型——但在反射中可能是可行的,我只是在我的研究中从来没有走那么远。 |
|
|
4
1
除了启用“第一次异常时中断”之外,我不知道这将如何工作,也不知道VS2003或VS2005中会有什么帮助。(可能是VS2010中新的调试/重播功能) |
|
5
1
您所描述的是调用堆栈窗口的预期行为。当VisualStudio在
归结起来,VisualStudio的调用堆栈窗口不知道异常中包含的堆栈跟踪。 |
|
|
Helic · 引用项目中的Visual Studio生成事件 1 年前 |
|
|
Fardin Jim · React中的HandleError 1 年前 |
|
Sam · 返回Visual Studio中文档注释中的标记 1 年前 |
|
|
Natty · Visual Studio中缺少“代码覆盖率结果” 1 年前 |
|
|
xTMx · 如何修复恢复自定义Nuget软件包的问题? 1 年前 |
|
|
CCarter · 只能在设计器中DependencyObject的DependencyProperty上设置显示“Binding”的WPF ICommand DependencyProperties[重复] 1 年前 |
|
|
Max · VS 2022中的缩放级别在哪里 1 年前 |