Axapta 从aif异常表获取警告/错误消息

Axapta 从aif异常表获取警告/错误消息,axapta,dynamics-ax-2012,x++,dynamics-ax-2012-r2,Axapta,Dynamics Ax 2012,X++,Dynamics Ax 2012 R2,我有一个外部应用程序,它可以向普通期刊上写文章。当一个错误发生时,它只是有一个基本的描述“错误验证记录”,例如。我还想返回更详细的警告消息。问题是我不知道如何捕捉代码中的警告消息,并将其与错误一起返回到我的第三方应用程序。因此,我最终捕获了错误,然后查询sys异常表。但现在这个问题似乎是一个拖延。这意味着在aif服务完全退出之前,它不会将错误/警告写入表中。因此,它将始终返回最后一个错误,而不是当前错误。请参阅下面的代码。如果有更好的方法返回警告,请告诉我。我环顾四周,似乎什么也没用 catc

我有一个外部应用程序,它可以向普通期刊上写文章。当一个错误发生时,它只是有一个基本的描述“错误验证记录”,例如。我还想返回更详细的警告消息。问题是我不知道如何捕捉代码中的警告消息,并将其与错误一起返回到我的第三方应用程序。因此,我最终捕获了错误,然后查询sys异常表。但现在这个问题似乎是一个拖延。这意味着在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);
         }

你的问题有点难理解,但听起来你好像是在试图捕捉第三方应用程序抛出的错误,但既然你不知道怎么做,你就在看AIF异常

您是否尝试过:

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

aifeExceptionsView
可能对您有用。

查看以下链接:、和