我正在为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>
为真时,Visual Studio会突出显示<doSomeStuff>
,并警告我“用户代码未对”MappingException进行处理“。
为什么在<catchError>
之前不会抛出异常?
NuGet包管理器添加了Fluent NHibernate库。如果这是未转发异常的原因,我如何将MappingException发送到<catchError>
?
答案 0 :(得分:3)
此行为的原因很可能是您已检查以下选项: 调试 - &gt;例外 - &gt; “Common Language Runtime Exceptions”的“Thrown”列。
如果按F5或继续调试,代码最终会到达<catchError>
。