6

Me encuentro con un problema muy extraño al depurar una prueba unitaria. Si depuro la prueba unitaria (ctrl + r ctrl + t) obtendré una excepción no detectada. Si solo ejecuto la prueba unitaria (ctrl + r t) no obtengo esta excepción.C# Excepción no detectada en la prueba unitaria

La excepción no detectada es un NHibernate.ByteCode.ProxyFactoryFactoryNotConfiguredException.

Seguimiento de la pila:

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() 

Solía ​​.Net reflector para mirar a la asamblea que define este método (NHibernate.Validator ... es de código abierto) y aquí es el método que "tira" del excepción:

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

¿Cómo no se puede atrapar esta excepción con ese bloque Try Catch?

Respuesta

3

Parece que está viendo un first chance exception.

¿Tiene habilitada la opción "Salir con excepciones de primera oportunidad"? Debería poder configurarlo en el menú Depurar-> Excepciones.

+0

Fui a este menú y deseleccioné la columna User-nohandled para las excepciones de Common Language Runtime y esto pareció arreglar el rompimiento de esta excepción de primera oportunidad. Gracias. –

2

Probablemente tenga la opción Salto en todas las excepciones establecida en el depurador, lo que hace que VS se rompa tan pronto como se lanza una excepción, independientemente de si está atrapada.
Haga clic en Depurar, Excepciones.

Cuestiones relacionadas