2013-11-04 28 views
3

我对我的项目使用NHibernate和Enterprise Library。我做了一些诸如new UnityContainerConfigurator(_container),_container.RegisterInstance(instance)var configuration = new NHibernate.Cfg.Configuration()这样的调用,它们导致VS在抛出内部异常时停止(前两个抛出SynchronizationLockException,最后一个抛出BindingFailure)。我的代码中没有引发内部异常

如果我按F5,它跳过这个异常并继续运行,所以我假设这些发生在库内部并被处理。但我不知道为什么VS不断告诉我这些。

我打开了“启用只是我的代码”选项。据我了解,如果启用此选项,这些例外应该不会中断执行,因为它们在我使用的库内部,但实际上并非如此。

在例外窗口(Ctrl + Alt + E)我有所有标记为“Thrown”的异常。但这实际上就是我需要的 - 我想在我的代码中发生异常的通知,但不是库中的代码。我不想取消这个配置或者过滤异常打扰我并检查出来。

任何想法如何实现所需的行为?

+0

“Just My Code”只影响调试器进入的代码 - 它不会过滤它所停止的异常,据我所知。 –

+0

@DStanley我应该考虑的其他选项? – Archeg

+0

我知道的唯一选项是过滤异常并检查/关闭单个异常类型。 –

回答

1

从顶部菜单,选择调试菜单项;然后选择例外。确保选中了“公共语言运行时例外”。

有关SynchronizationLockException和Unity Container的更多信息,请参阅this so question

+0

感谢您的回答。他们被检查。这正是导致问题的原因。但我不想取消选中它们 - 这项检查非常有用。至于这个问题的链接,谢谢 - 这个很有趣。它并没有解决我所遇到的问题,但我绝对必须更多地考虑这个问题。 – Archeg

相关问题