我在D2009开了一个项目(在D2007 / 08中创建),它会编译但是在执行时会抛出大量的异常.奇怪的事情,但我知道这个项目是一团糟,所以我想继续修复它.好吧,没有真正解决所有这一切,只是让它的工作就够了.
当我运行它,我有一些调试器异常通知(小消息对话与休息,继续,帮助按钮),我想继续,看看是否可能工作,当跳过异常.我在左下角勾选了一个“忽略此异常类型”复选框,然后点击继续.现在我不再得到异常通知,但应用程序仍然不运行.我只是得到一些模糊的错误框,并且不知道发生了什么.
我想重新启用我以前选择被忽略的异常类型.但是我无法找到该选项.我应该在哪里寻找?谁能帮忙?
解决方法
以下内容摘自
this page on the Delphi Q&A by Rob Kennedy:(CC许可),尽管它与Delphi 2005有关,但可能有所帮助.
为什么即使在编写异常处理程序后,我仍然会收到错误消息?
在其默认设置中,Delphi IDE会在程序中发生异常时通知您,如图1所示.重要的是,在这一点上,程序的异常处理代码都没有运行.这就是Delphi本身;它作为调试器的特殊状态允许它在程序中得到第一次通知任何异常,甚至在程序知道之前.
避免通知
如果您不想在发生异常时收到通知,您可以选择几个选项.
>您可以使用Delphi的“高级断点”来禁用围绕代码区域的异常处理.要开始,在您希望IDE忽略异常的代码行上设置一个断点.右键点击槽中的断点,然后打开断点属性对话框.在高级部分有一些复选框. (见图2.)清除“中断”框以防止调试器在该行中断程序,并设置“忽略后续异常”框.
之后,设置另一个断点,您希望调试器恢复处理异常.更改其属性以处理后续异常.
>您可以告诉调试器忽略某些类型的异常.图3显示了Delphi的语言异常选项.将一个异常类添加到列表中,并且该类型和任何后代类型的所有异常都将传递给您的程序,而不会导致Delphi干扰.
>在与上一个相关的选项中,您可以告诉调试器不要中断任何异常.要做到这一点,请清除“语言异常通知”复选框.
>最后,可以关闭集成调试功能. Delphi不会通知您异常,也不会在断点处停止或允许使用“暂停”按钮.在调试器选项中关闭集成调试,如图5所示.