是否有必要在changeCompany中使用return时还原某些内容

b2v*_*ent 4 x++ axapta dynamics-ax-2009

我必须changeCompany()在现有类中添加一个控件.

我想下面的代码是可以的,但我有一个疑问:"返回"命令是否意味着回归原始公司?还是要添加一个我不知道的声明,类似的声明revertToPreviousCompany()

try
{
    changeCompany(companyId)
    {
        // the method will produce a message and return false if an error
        if (!this.doSomeChecks()) {               
           return;
        }          
        // much more code below 
Run Code Online (Sandbox Code Playgroud)

DAX*_*lic 6

是的,这是正常的,因为在某些情况下,如果没有由运行时本身完成,您甚至无法恢复它.
想象一下你所拥有的一个callstack try- catch围绕你正在调用的一些代码,你希望可能会抛出一个错误,但是如果调用你代码的代码已经建立了一个事务,你的处理程序就不会被调用,因此你就没有机会撤消changeCompany