如何获取 EOleException 的具体错误号码,并根据具体错误号,写我自己的错误提示?

changechange 2005-10-19 06:45:04
如何获取 EOleException 的具体错误号码,并根据具体错误号,写我自己的错误提示?
我在窗体上插入了 TApplicationEvents 控件,并在 OnException 中写了代码,但是我只能把系统给我的错误消息直接抛出给用户看,我如何才能判断错误号,并根据错误号写我自己的错误提示?


procedure TForm2.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
showmessage(e.Message);
showmessage(e.classname);
//OutputDebugString(pchar(StrpCopy(e.ClassName)));


end;

注明:
以下方法我无法使用,因为整个错误提示都是不固定的,随环境变化而变化,同一个错误的英文提示可能不同

可以选把系统的异常提示信息记下来记为S(一般是英文大意是违反主键约束)


try
...
执行丰存过程;
except on e:Exction do
begin
if E.Message=S then
showmessage('重码')
else
Showmessage(E.Message);
end;
end;
...全文
173 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
changechange 2005-10-21
  • 打赏
  • 举报
回复
procedure TForm2.ApplicationEvents1Exception(Sender: TObject;
E: Exception);
begin
showmessage(e.Message);
showmessage(e.classname);
//OutputDebugString(pchar(StrpCopy(e.ClassName)));
if E is EOleException then //提示本行错误,Undeclared identifier:'EOleException'
begin
with EOleException(E) do
begin
case ErrorCode of

end;

end;
gxgyj 2005-10-21
  • 打赏
  • 举报
回复
try
..
..
except
on E: Exception do if Pos('重复键',e.Message)>0 then begin
Application.MessageBox('现在错误是有重复数据','Information',MB_OK+MB_ICONINFORMATION);
Windows.Beep(700,200);
end;
end;//end try

xiaozhibo 2005-10-20
  • 打赏
  • 举报
回复
当发生错误时,获取TADOConnection的Errors集合即可。Error是Errors的元素

//TADOConnection的Error对象包含了数个属性。下面说明了这些属性以及它们的意义:
// 属性意义
// Number 发生错误情形的编号
// Source 这个属性会回传发生错误的对象名称或对象的ProgID
// 如果是ADO的Provider发生错误,那么这个属性便会包含发生错误的Provider的标识符。
// 如果是ADO本身发生错误,那么这个属性便会包含ADODB子字符串
// Description 包含发生的错误的说明信息
// HelpFile 辅助文档的路径名称
// HelpContext 在辅助文档中说明错误的Help Context数值
// SQLState 这个属性包含发生错误时由Provider回传的5个字符长度的错误码
// NativeError 这个属性包含发生错误时数据库服务器产生的原生数据库错误代码
aiirii 2005-10-20
  • 打赏
  • 举报
回复
或者:

if E is EOleException then
begin
with EOleException(E) do
begin
case ErrorCode of

end;
aiirii 2005-10-20
  • 打赏
  • 举报
回复

DWORD GetLastError(void);
试验下如何
changechange 2005-10-20
  • 打赏
  • 举报
回复
1天了,无人能答?
changechange 2005-10-19
  • 打赏
  • 举报
回复
出错的控件是 TadoDATASET 控件

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧