如何在Inno Setup中捕获OleObject异常?

时间:2014-02-26 10:49:24

标签: winapi exception inno-setup pascal ole

所以我尝试使用next modified code:

发布没有互联网连接的帖子请求
      WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
      WinHttpReq.Open('POST', '<your_web_server>', false);
      WinHttpReq.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      try
        WinHttpReq.Send('data');
      except
           bla:= 'e';
      finally
           bla := 'f';
      end;

然而异常并没有被抓住,我对下一张图片的设置应用程序感到迷恋:

enter image description here

如何在Inno Setup中处理OleObject异常?

1 个答案:

答案 0 :(得分:7)

您的代码不完整,但try..except阻止了所有异常,包括OLE对象抛出的异常。但是,您的屏幕截图显示了引发异常的行号,因此您运行的是调试器。

调试器显示所有异常消息,无论它们是否在try..except块中,除非您在Inno Setup IDE设置中取消选中“Pause on exceptions”选项:

enter image description here

默认情况下启用此选项(我建议保留),这意味着所有异常都会报告为异常消息,这可能会误导您。如果您在没有附加调试器的情况下运行设置,则不会看到该异常消息。