单元测试中的C#未捕获异常

Col*_*e W 6 c# nhibernate exception-handling exception visual-studio-2010

我在调试单元测试时遇到了一个非常奇怪的问题.如果我调试单元测试(ctrl + r ctrl + t)我得到一个未捕获的异常.如果我只是运行单元测试(ctrl + rt),我不会得到这个例外.

未捕获的异常是NHibernate.ByteCode.ProxyFactoryFactoryNotConfiguredException.

堆栈跟踪:

at NHibernate.Bytecode.AbstractBytecodeProvider.get_ProxyFactoryFactory() in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Bytecode\AbstractBytecodeProvider.cs:line 32
at NHibernate.Validator.Util.NHibernateHelper.IsProxyFactoryConfigurated()
Run Code Online (Sandbox Code Playgroud)

我用.Net Reflector来查看定义这个方法的程序集(NHibernate.Validator ......它的开源代码),这里是"抛出"异常的方法:

public static bool IsProxyFactoryConfigurated()
{
    try
    {
        IProxyFactoryFactory proxyFactoryFactory = Environment.BytecodeProvider.ProxyFactoryFactory;
        return true;
    }
    catch (ProxyFactoryFactoryNotConfiguredException)
    {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何通过Try Catch块捕获此异常?

Luk*_*keH 3

听起来您遇到了第一次机会异常

您是否启用了“第一次机会例外时中断”?您应该能够在“调试”->“异常”菜单中配置它。