[疑惑]在try...except...中到底是怎样对错误信息进行处理的?
我用如下的程序连接数据库:
try
begin
ADOConnection.Connected := False;
ADOConnection.ConnectionString := '……' //在这里设定连接字符串
ADOConnection.Connected := True;
end;
except
on E: EDatabaseError do
begin
ErrorMessage := '连接指定的数据源时发生错误,错误信息:' + E.Message;
Application.MessageBox(PChar(ErrorMessage), '错误',
MB_OK + MB_ICONHAND + MB_DEFBUTTON1 + MB_APPLMODAL);
end;
end;
我的想法是在发生错误是显示自己制定的错误信息,但是实际运行情况如下:
1.程序如上,则发生错误时只显示系统的错误,而不显示我的MessageBox;
2.如果我在except中什么也不加(except段中所有内容全部注释掉),则什么错误信息也不显示;
3.如果我在except中加一个MessageBox(),则只显示MessageBox;
现在我对except的错误信息处理方式很迷惑,到底应该怎么写才能达到我的要求?我的想法错在哪里了?