从库调用时如何抛出异常
本文关键字:抛出异常 调用 | 更新日期: 2023-09-27 17:59:37
我正在为Fluent NHibernate中的自动映射定义一个约定。在这个惯例中,我抛出了一个例外:
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>
为true时,VisualStudio会突出显示<doSomeStuff>
,并警告我"用户代码未处理MappingException"。
为什么直到<catchError>
才抛出异常?
Fluent NHibernate库是由NuGet包管理器添加的。如果这是异常未转发的原因,我如何将MappingException发送到<catchError>
?
出现这种行为的原因很可能是您选中了以下选项:调试->异常->"公共语言运行时异常"的"抛出"列。
如果按F5键或继续调试,代码最终将到达<catchError>
。