所有的错误类型定义在 ...\borland\delphi6\source\trl\Sys\sysutils.pas
凡是 E 打头的几乎全是。但这些类型不一定包括数据库返回的错误信息。
try
...
except
on E: Exception do Showmessage(E.Message);
end; //可以获得数据库返回的错误信息的内容
--------------------------------------------------------
try
...
except
on EZeroDivide do HandleZeroDivide;
on EOverflow do HandleOverflow;
on EMathError do HandleMathError;
else
HandleAllOthers; //处理所有其它异常
end;
--------------------------------------------------------
try
...
except
HandleException; //默认处理
end;
try
...
except
on E: Exception do Showmessage(E.Classname);
end;
可以返回错误的类型,但一般数据库错误会笼统的显示 EDatabaseError
--------------------------------------------------------
你在调试程序的时候Delphi会在每个Exception处中断。
运行你的*.exe你会发现一切如你所愿。
如果你想在调试时不想系统弹出警告对话框,
菜单 Tools\Debugger Options...\
Language Exceptions\Stop on Delphi Exceptions 的钩钩去掉;
Tools\Debugger Options...\
OS Exceptions\Handled by 选user program;on resume选 Run Unhandled