怎么获取错误信息阿(100分)

  • 主题发起人 主题发起人 crono
  • 开始时间 开始时间
C

crono

Unregistered / Unconfirmed
GUEST, unregistred user!
我在编写一个日志记录程序,记录数据库的错误信息,请问如何实现呢,忘指教!!
 
一般数据库组件都有与错误有关的事件,而且一般事件里边也有错误信息的参数,
就是不知道你用的什么数据库,也不知道你实在服务器一头,还是客户一头,
这两边的存取权限,和得到的信息都是不同的。
 
try
...
except on e:exception do
showmessage('error code is :'+e.message)
end
 
try
.
.
.
except
On E: EDBEngineError do
begin
Database1.Rollback;
for i := 0 to E.ErrorCount - 1 do
begin
case E.Errors.ErrorCode of
$2601:
begin
beep;
ShowMessage('呵呵!我不允许鍵值重覆!');
end;
$0021:
begin
beep;
Showmessage('太糟糕了,系统发生故障!TMD');
end;
$270b:
begin
beep;
Showmessage('对不起,你的受到主外键约束!怎么样,很失望吧!');
end;
$2b05:
begin
beep;
Showmessage('太糟糕了,网络连接超时判负!TMD');
end;
$0028:
begin
beep;
Showmessage('琐定违例!');
end;
$1200:
begin
beep;
Showmessage('不能识别的SQL错误!呵呵,有事干了!');
end;
$2501:
begin
beep;
Showmessage('太糟糕了,你的内存不足!请使用N(N>=10000)兆内存');
end;
$2605:
begin
beep;
Showmessage('对不起,你所添加的数据违反外键约束!');
end;
$2728:
begin
beep;
Showmessage('你所操作的表不存在!');
end;
$2801:
begin
beep;
Showmessage('记录已经被其它用户琐定!');
end;
$2a06:
begin
beep;
Showmessage('数据引擎初始化错误!');
end;
$2c01:
begin
beep;
Showmessage('网络初始化失败!');
end;
$2c07:
begin
beep;
Showmessage('呜呜..呜呜!一个我不知道的网络错误,这不可能!');
end;
$2c0d:
begin
beep;
Showmessage('是谁干的!!服务器竟然没打开!');
end;
$3e07:
begin
beep;
Showmessage('初始化失败!');
end;
$3303:
begin
//ShowMessage('服务器端错误:一般的SQL错误!');
end;
else
raise EDatabaseError.Create(E.Message);
end;//case
end;//for
end;//on EDBError
end;//try..except
 
try
.
.
.
except
On E: EDBEngineError do
begin
Database1.Rollback;
for i := 0 to E.ErrorCount - 1 do
begin
case E.Errors.ErrorCode of
$2601:
begin
beep;
ShowMessage('呵呵!我不允许鍵值重覆!');
end;
$0021:
begin
beep;
Showmessage('太糟糕了,系统发生故障!TMD');
end;
$270b:
begin
beep;
Showmessage('对不起,你的受到主外键约束!怎么样,很失望吧!');
end;
$2b05:
begin
beep;
Showmessage('太糟糕了,网络连接超时判负!TMD');
end;
$0028:
begin
beep;
Showmessage('琐定违例!');
end;
$1200:
begin
beep;
Showmessage('不能识别的SQL错误!呵呵,有事干了!');
end;
$2501:
begin
beep;
Showmessage('太糟糕了,你的内存不足!请使用N(N>=10000)兆内存');
end;
$2605:
begin
beep;
Showmessage('对不起,你所添加的数据违反外键约束!');
end;
$2728:
begin
beep;
Showmessage('你所操作的表不存在!');
end;
$2801:
begin
beep;
Showmessage('记录已经被其它用户琐定!');
end;
$2a06:
begin
beep;
Showmessage('数据引擎初始化错误!');
end;
$2c01:
begin
beep;
Showmessage('网络初始化失败!');
end;
$2c07:
begin
beep;
Showmessage('呜呜..呜呜!一个我不知道的网络错误,这不可能!');
end;
$2c0d:
begin
beep;
Showmessage('是谁干的!!服务器竟然没打开!');
end;
$3e07:
begin
beep;
Showmessage('初始化失败!');
end;
$3303:
begin
//ShowMessage('服务器端错误:一般的SQL错误!');
end;
else
raise EDatabaseError.Create(E.Message);
end;//case
end;//for
end;//on EDBError
end;//try..except
 
only you就是only you,数据库也有搞笑版!
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
886
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部