2013-02-15 26 views
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>

回答

3

造成這種行爲的原因很可能是您已經檢查了以下選項: 「公共語言運行時異常」的調試 - >異常 - >列「引發」。

如果您按F5或以其他方式繼續調試,代碼將最終達到<catchError>