首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MadExcept异常过滤器

MadExcept异常过滤器
EN

Stack Overflow用户
提问于 2012-01-21 21:15:38
回答 2查看 1.5K关注 0票数 3

我正在使用Delphi XE2和Mad,除了我有一个应用程序,它使用印地进行一些互联网操作…问题是,当一个简单的异常被抛出时,比如没有互联网连接,madexcept就会弹出。我想禁用这些来自indy的异常。

我有以下异常类: EIdSocketError消息:套接字错误#11004

我在mad except中进入exception filter对话框,并将EIdSocketError放在exception filter中,但它不起作用,我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-22 00:07:06

被引发的类的名称是EIdSocketError,但是您将过滤器设置为EIDSocketError。也许MadExcept是区分大小写的?还要记住,所有的Indy异常最终都是从EIdException派生的,所以您可能希望对其进行过滤。

在任何情况下,MadExcept只能捕获未捕获的异常,因此在代码中使用try/except块是正确的解决方案。这就是Indy的设计用法。如果在DFM流式传输期间在运行时实例化组件时出现异常,则必须在设计时将组件保留在活动状态。不要那样做。确保在设计时停用这些组件,然后在运行时准备好使用它们时在代码中激活它们。

票数 9
EN

Stack Overflow用户

发布于 2012-01-21 21:22:04

madExcept将只捕获应用程序本身未处理的那些异常。因此,一个处理有问题的异常的简单try-except块可能是您的问题的最干净的解决方案。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8953249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档