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;
|