Application对象的OnException事件可以捕捉所有应用
程序中未处理的错误,
用一个自定义函数重定向Application.OnException,然后在该函数中的E参数可以返回应用
程序错误的对象,判断英文错误代码是否包含在E.Message决定是否用对应中文提示代替。当然,可以使用自定义的消息窗体显示。
procedure TForm1.HandleError(Sender: TObject; E: Exception);
begin
if pos(''Can not link database'',E.Message)>0 then
begin
showmessage(''不能连接数据库!''); //可以用字定义窗体显示
exit;
end;
if pos(''TCP/IP……'',E.Message)>0 then
begin
showmessage(''网络故障,不能连接数据库!''); //可以用字定义窗体显示
exit;
end;
……
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException:=HandleError;
end;