2014-07-25 158 views
0

是否有可能拋出一個自定義異常SSRS,我可以在C#中捕獲?從SSRS拋出自定義異常

喜歡的東西:

try 
{ 
    result = ssrs.Render(
     format, 
     null, 
     out extension, 
     out encoding, 
     out mimeType, 
     out warnings, 
     out streamIDs); 
} 
catch (CustomException ex) 
{ 
    // do something 
} 
catch (Exception ex) 
{ 

} 

我會用它不會顯示在客戶端的系統的報告。我寧願在報告中保留業務邏輯。

回答

0

拋出在應用程序中實現的自定義異常類型?我不認爲這是可能的。

但是,使用反彙編器查看呈現代碼,它看起來好像嘗試使用基本異常類ReportViewerException來包裝許多Reporting Services呈現/查看異常。您可以嘗試捕獲該異常類型,並處理許多呈現問題。當然,你仍然可以得到像ArguementOutOfRangeException這樣的東西,它不會被包裝在ReportViewerException中。所以你也可以考慮這一點。

1

我們想拋出一個異常來不生成基於數據的報告。我們嘗試了一個自定義DLL來引發異常。不幸的是,這也沒有奏效。

我們所做的是用存儲過程中的特定字符串引發錯誤,並在C#中解析異常消息,該消息工作得很好。不如我們想要的那樣好。