2017-04-11 66 views
0

我有一個寫入常規日誌的外部應用程序。例如,當發生錯誤時,它僅具有基本描述「錯誤驗證記錄」。我還想返回警告信息,因爲它更詳細。問題是我不知道如何捕捉代碼中的警告消息,並將錯誤返回給我的第三方應用程序。所以我結束了捕獲錯誤,然後查詢sys異常表。但這個問題現在似乎是一個延遲。這意味着它不會將錯誤/警告寫入表中,直到aif服務完全失效。所以它總是會返回最後一個錯誤而不是當前錯誤。見下面的代碼。如果有更好的解決方案讓警告返回讓我知道。我環顧四周,似乎沒有任何工作。從aif異常表中獲取警告/錯誤消息

catch (Exception::Error) 
       { 
select maxOf(createdDateTime) from sysExceptionTable where sysExceptionTable.Exception==Exception::Warning && (sysExceptionTable.createdBy=='username' || sysExceptionTable.createdBy=='username'); 
        select description from sysExceptionTable2 where sysExceptionTable2.Exception==Exception::Error && (sysExceptionTable2.createdBy=='username' || sysExceptionTable2.createdBy=='username') && sysExceptionTable2.CreatedDateTime==sysExceptionTable.createdDateTime; 
        errorMsg=sysExceptionTable2.Description; 

        select description from sysExceptionTable2 where sysExceptionTable2.Exception==Exception::Warning && (sysExceptionTable2.createdBy=='username' || sysExceptionTable2.createdBy=='username') && sysExceptionTable2.CreatedDateTime==sysExceptionTable.createdDateTime; 

        errorMsg=errorMsg + " " + sysExceptionTable2.Description; 


       throw Global::error(errorMsg); 
     } 
+1

看看下面的鏈接:[Axis 2012年aif捕捉警告](http://stackoverflow.com/questions/40793797/ax-2012-aif-catching-warnings),[無法在AIF中捕捉異常服務](http://stackoverflow.com/questions/17830973/cant-catch-exception-inside-aif-service),[從aif Web服務捕獲警告消息](http://stackoverflow.com/questions/42587796/catching-the-warning-message-from-aif-web-service),[如何從AIF獲得有意義的錯誤消息](https://community.dynamics.com/ax/f/33/t/35246)和[鏈接](http://axdevnotes.blogspot.de/2011/06/aif-exception-message.html?m=1) –

回答

0

你的問題有點難以遵循,但它聽起來像你想抓住你的第三方應用程序拋出的錯誤,但因爲你不知道如何做到這一點,你看着AIF異常?

你試過:

catch 
{ 
    throw error(AifUtil::getClrErrorMessage()); 
} 

而且AifExceptionsView可能對你有用的。