有什么方法可以忽略所有错误?(50分)

  • 主题发起人 主题发起人 tsedlinux
  • 开始时间 开始时间
T

tsedlinux

Unregistered / Unconfirmed
GUEST, unregistred user!
有什么方法可以忽略所有错误?
有没有像在VB中的语句ON ERROR RESUME NEXT一样的语句?
 
try
....
except
程序运行正常
end;

try
...
except
内存不足
end;
 
是啊,想截获程序所有的错误,自己进行处理,该怎么办呢?
 
try
....
except
程序运行正常
end;
只能用在一个过程里,怎么样实现控制整个程序呢?
 
不晓得[:(]
 
到Additional页面拖一个ApplicationEvent控件下来,给OnException时间编码
procedure TForm1.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
ApplicationEvents1.CancelDispatch;
end;

不过只能捕获Application.Run后的所有异常.
 
定义一个过程如下
procedure O_error (Sender: TObject;
E: Exception) ;
begin
return
end;

.......
application.OnException:=o_error
.....
就可以了
 
try
...
except
...
end;
-----
try
...
finally
...
end;

都可以的呀,不过有点不一样
你可能查一下
 
try
clients.active:=true;
except
on esocketerrordo
showmessage('dsfds');
end;
这就是那个问题,如果远端服务器没有工作,则执行第二条语句肯定报错,要怎么忽略错误呢?
 
请chshanghait和OpuBF朋友再帮我解释一下您的方法好吗?谢谢
 
try
except
end
肯定可以的,不过是运行时捕获,不在IDE环境下的。。。
 
如果你是想忽略ClientSocket抛出的异常,在ClientSocket中的OnError事件中编码,事件
提供一个参数 ErrorCode,将其设置为0就可以忽略异常了。
上面提供的代码是用来捕获应用程序异常的,异常在被捕获前将一级一级往上抛出,直到
获得处理,要是一直未被捕获,缺省的异常处理方法就会被调用(显示异常信息)。
Application的OnException是交给缺省异常处理方法前的最后一站,所以你在那个位置将
异常不在传递下去就等于忽略了所有未处理的异常。
还有一个容易误解的是在Delphi的IDE中异常一定会被显示的,即使你捕获和处理掉了。不用
在担心,运行时就看不到了。
 
Opubf 你都说了我还说什么啊???
 
try
clients.active:=true;
except
on esocketerrordo
showmessage('dsfds');
end;
 
哈哈哈 chshanghai兄来晚了
 
多人接受答案了。
 
后退
顶部