0

我正在为 Fluent NHibernate 中的 AutoMapping 定义一个约定。在这个约定中,我抛出了一个异常:

public void Apply(IManyToManyCollectionInstance instance){
  ...
  if(<error>)
    throw new MappingException("Invalid Mapping");

  <doSomeStuff>
}

在另一个类中,我初始化配置,导致上面的代码被执行:

public void init(){
  try{
    SessionFactory = configuration.BuildSessionFactory(); // Apply(...) will be called here
  }
  catch (MappingException ex)
  {
    <catchError>
  }

<error>为真时,<doSomeStuff>VisualStudio 会突出显示,并警告我“用户代码未处理 MappingException”。

为什么直到 才抛出异常<catchError>

Fluent NHibernate 库由 NuGet 包管理器添加。如果这是未转发异常的原因,我如何将 MappingException 发送到<catchError>

4

1 回答 1

3

这种行为的原因很可能是您检查了以下选项:调试 -> 异常 -> “公共语言运行时异常”的“抛出”列。

如果您按 F5 或以其他方式继续调试,代码最终将达到<catchError>.

于 2013-02-15T11:56:29.100 回答