从aif例外表中获取警告/错误消息

时间:2017-04-11 15:35:14

标签: axapta dynamics-ax-2012 x++ dynamics-ax-2012-r2

我有一个写入普通期刊的外部应用程序。当发生错误时,它只有一个基本描述“错误验证记录”。我还想回复警告信息,因为它更详细。问题是我不知道如何在代码中捕获警告消息并将错误返回给我的第三方应用程序。所以我最终捕获错误,然后查询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);
         }

1 个答案:

答案 0 :(得分:0)

你的问题有点难以理解,但听起来你正试图抓住你的第三方应用程序抛出的错误,但是因为你不知道该怎么做,你正在看AIF异常?

你试过了吗?

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

AifExceptionsView可能对您有用。