如何拦截数据库的异常现实自己的异常窗口
我在处理数据库操作过程中,想要现实自己定义的异常处理窗口,但是应用
try
{
//数据库操作
}
catch()
{
//自己的操作
}
但是总是先显示//数据库操作的异常信息
之后才现实我自己定义的异常窗口
各位大侠,如何将//数据库操作的异常信息的窗口屏蔽掉
[解决办法]
这是一个环境设置的问题
在Tools-> Debug options-> Language Exceptions 默认使用系统异常...
把勾去掉后 CATCH里面就只报你的异常了
Application-> MessageBoxA(E.Message.c_str(), "数据库错误 ",MB_OK);//自己的窗口
这样写...不够好
给你的建议是
ShowMessage( "函数名 "+E.Message+ "异常特征 "); ---代码调试用异常
给客户看的话 请尽量使用足够友好的方式..
[解决办法]
拦截系统的异常信息并不是很好,我指在自己调试的时候,
tool/debug options /language exception 页面下,
把stop on delphi exception 和stop on c++...的勾去掉即可
我自己用的异常捕获都是让程序报出异常的类名::函数名和当前行,不然想找到这段代码还是不容易的,最后再加上系统的异常提示,这是再自己调试的时候
try
{...}
catch(Exception &E)
{
String szTip = "类名::函数名\n " + static_cast <String> (__LINE__) + E.Message;
ShowMessage(szTip)
}