D365 FO异常处理

Posted farseer1215

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D365 FO异常处理相关的知识,希望对你有一定的参考价值。

关于X++最新版本异常处理都在下面这篇文章里讲得很清楚了
https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/dev-ref/xpp-exceptions
我觉得比AX2012最大的改进
1.增加了finally支持
这让X++更接近主流语言的语法,之前的try catch,少了finally,总感觉少了点什么,虽然用不用是一回事,有没有又是另一回事。
2.捕获.NET异常
D365 Update31之后的版本,可以直接捕获.NET类型的异常了,这个是个非常不错的改进,再也不用诡异的先Catch Exeception::CLRError,再用CLRInterop::GetLastException这样的语法来处理.NET异常了。

 1 System.Exception        ex;
 2 
 3         try
 4         {
 5             throw new System.Exception("Hello,Exception");
 6         }
 7         catch (ex)
 8         {
 9             info (ex.Message);
10         }

目前的版本(10.0.0.10)Exception还不能直接在Catch中定义。

1 try
2         {
3             throw new System.Exception("Hello,Exception");
4         }
5         catch (System.Exception ex)
6         {
7             info (ex.Message);
8         }

这样写,会报一个莫名其妙的缺少),随着版本的迭代,这个问题应该会解决掉。

以上是关于D365 FO异常处理的主要内容,如果未能解决你的问题,请参考以下文章

D365 FO执行进度显示

D365 FO第三方集成---访问认证(获取访问令牌)

D365 FO财务维度

D365 FO 科目维度余额计算

D365 FO 科目维度余额计算

D365 FO最佳实践BP(六)-格式化字符串