请教各位:
我用ado连接Access,Form用了一个adotable现在我要保存新记录,但要捕获“主键重复”错误, 但是不行try
ADOTable1.Post;
except
MessageBox(Handle,'wrong','Warning',MB_OK);
end;以上代码应该捕获所有错误,可是执行到ADOTable1.Post,如果有主键重复,不是死机,就是系统弹出错误框:“eoleexception...........谢谢
我用ado连接Access,Form用了一个adotable现在我要保存新记录,但要捕获“主键重复”错误, 但是不行try
ADOTable1.Post;
except
MessageBox(Handle,'wrong','Warning',MB_OK);
end;以上代码应该捕获所有错误,可是执行到ADOTable1.Post,如果有主键重复,不是死机,就是系统弹出错误框:“eoleexception...........谢谢
用了TRY的。
先执行try下面的,当出错的时候就用except
不过系统要执行才知道出错没有。
所以在编辑环境中是跳不到except中去的。
你直接运行EXE文件就可以了。
:)
...
except
....
end; 在DEBUG环境下,当执行Try下面的语句发生错误的时候,
是不会直接跳到except下面的代码去的.
(因为系统要先执行你的代码,才会知道是否发生错误,当出现错误的时候就跳到except中去
但是,现在执行代码就发生了错误程序不能继续运行了,也就不能跳到exept中去.)
所以发生在deubg下面会直接发生错误不能执行代码.
(再次按一下F9)就可以看到except下面的运行结果.
Tools-Debugger Options-Language Exceptions
不使用Stop On Delphi Exceptions,这样的效果一样的Try-Except是可以捕获错误的