从自定义类库中抛出异常

时间:2017-03-15 00:35:08

标签: c#

我在C#Visual Studio 2012中创建了一个库。

在这个库中,我有一些区域在不满足条件时故意抛出新的异常。我已经构建了库并在另一个项目中引用了.dll。

当库抛出异常时,调试器会抓取引用的库,打开.cs文件并显示库中的“Throw Exception”代码,而不是在项目中导致异常的代码。

如何锁定库,以便调试器不显示引发异常的库代码,而是显示导致库抛出异常的项目代码。

我试过谷歌搜索,但我担心我缺乏术语知识会把我带到错误的区域。

1 个答案:

答案 0 :(得分:1)

您可以使用DebuggerStepThrough属性标记您的班级和/或方法。来自文档:

  

此属性避免了必须进入编译器提供的代码并且只进入开发人员提供的代码。例如,如果使用F11(Step Into)键逐步执行代码,则该属性将使步骤的行为类似于编译器提供的代码的F10(Step Over)键。该方法不会被采用,但会被执行。

例如:

[DebuggerStepThrough]
public class MyLibrary
{
    public void DoSomething()
    {
        //Unimportant code here
    }
}

或者,只需引用已编译的库并确保没有可供Visual Studio读取的PDB文件。