如果在Inno Setup中多次调用Abort()会发生什么

时间:2017-02-08 06:23:28

标签: inno-setup pascalscript

如果我多次使用Abort(),会发生什么:

[Code]

function InitializeSetup(): Boolean;
begin
  Result := True;
  { Some Initialization }
  try
    { some code }
    Abort();
  except
    MsgBox('Abort is called');
    Abort(); { Abort is called Second time. Is this create any problem? }
  end;
end;

1 个答案:

答案 0 :(得分:0)

正如你所知道的那样,Abort会引发异常。见documentation

  

Abort引发一个特殊的“静默异常”,它像任何其他异常一样运行,但不会向最终用户显示错误消息。

如果异常没有离开事件函数,因为你使用try ... except语句捕获它,Inno Setup永远不会了解它,所以它对它没有影响。

只有后者调用Abort引发的异常才会离开事件函数并对Inno Setup产生任何影响。