procedure TMainForm.FormCreate(Sender: TObject); begin GlobalExHandler:=TGlobalExHandler.Create; Application.OnException := GlobalExHandler.HandlerProc;end;procedure TGlobalExHandler.HandlerProc(Sender: TObject; EInstance: Exception); begin if (EInstance is EDBEngineError) then begin case (EInstance as EDBEngineError).Errors[0].Errorcode of 9729: ... else ... end else ... end;
try X := Y/Z;
except
on EZeroDivide do HandleZeroDivide;
end;
//正常语句;
except
//错误处理语句;
end;如果在 //正常语句 中有错误的话,程序就会生动跳到 //错误处理语句 来执行
procedure TMainForm.FormCreate(Sender: TObject);
begin
GlobalExHandler:=TGlobalExHandler.Create;
Application.OnException := GlobalExHandler.HandlerProc;end;procedure TGlobalExHandler.HandlerProc(Sender: TObject; EInstance: Exception);
begin
if (EInstance is EDBEngineError) then
begin
case (EInstance as EDBEngineError).Errors[0].Errorcode of
9729:
...
else
...
end
else
...
end;