ADO异常用Try……Except是捕捉不到的。 应该是取得ADOConnection的Errors错误集合对象,用了循环取得 每个Error对象,就可以取得每个Error对象的错误代码. 如: var ADOErrors:Errors; ADOError:Error; i:Integer; begin ADOErrors:=ADOConnection.Errors; for i:=0 to ADOErrors.Count-1 do begin ADOError:=ADOErrors.item[i]; showmessage(ADOError.Description );//错误描述 showmessage(inttostr(ADOError.NativeError));//错误代码 ..... end; end;
http://202.96.70.229/cakk/delphi/dbengine/dbengine.htm
try
ado.open;
except
showmessage('error');
end;
捕捉错误用try好了
慎用try,用了它PostError不一定能捕获错误,如:
try
Ado.Insert...
catch...
ado.open;
except
showmessage('error');
end;
Ado的异常多是因为数据库操作失败产生的。这些异常try不到的。
解决办法就是不让它出现。
当然,连接失败是可以捕捉到的。
应该是取得ADOConnection的Errors错误集合对象,用了循环取得
每个Error对象,就可以取得每个Error对象的错误代码.
如:
var
ADOErrors:Errors;
ADOError:Error;
i:Integer;
begin
ADOErrors:=ADOConnection.Errors;
for i:=0 to ADOErrors.Count-1 do
begin
ADOError:=ADOErrors.item[i];
showmessage(ADOError.Description );//错误描述
showmessage(inttostr(ADOError.NativeError));//错误代码
.....
end;
end;