Farseer

导航

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         }

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

posted on 2020-04-28 12:10  佛西亚  阅读(294)  评论(0编辑  收藏  举报