visual studio 2010 - c#单元测试中的未捕获异常
本文关键字:捕获异常 单元测试 studio 2010 visual | 更新日期: 2023-09-27 17:50:26
我在调试单元测试时遇到了一个非常奇怪的问题。如果我调试单元测试(ctrl+r ctrl+t),我将得到一个未捕获的异常。如果我只是运行单元测试(ctrl+r t),我不会得到这个异常。
未捕获的异常是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()
我使用。net Reflector来查看定义这个方法的程序集(NHibernate)。验证器……它是开源的),下面是"抛出"异常的方法:
public static bool IsProxyFactoryConfigurated()
{
try
{
IProxyFactoryFactory proxyFactoryFactory = Environment.BytecodeProvider.ProxyFactoryFactory;
return true;
}
catch (ProxyFactoryFactoryNotConfiguredException)
{
return false;
}
}
为什么这个异常不会被Try Catch块捕获?
听起来像是第一次异常。
您是否启用了"第一次机会异常中断"?您应该能够在Debug->Exceptions菜单中配置它。
你可能在调试器中设置了Break on All Exceptions,这会导致VS一旦抛出异常就会中断,不管它是否被捕获。