首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi的错误处理究竟有没有用的啊

2012-03-24 
Delphi的异常处理究竟有没有用的啊?Delphi(Pascal) codetry szSelected: dbgrdShowData.SelectedField.Te

Delphi的异常处理究竟有没有用的啊?

Delphi(Pascal) code
try szSelected:= dbgrdShowData.SelectedField.Text;  except        MessageBox(Handle,'还没有选择要查看的信息,请选择','错误',MB_ICONERROR);   end;


dbgrdShowData是一个DBGrid,我希望得到他选中的Cell的信息,如果这个时候dbgrdShowData里面没有数据或者是用户没有进行选择,就弹出一个错误提示框,为什么根本不行?不是出现异常会转入except进行处理的么?怎么还是弹出系统的那个错误框的啊,

---------------------------
Debugger Exception Notification
---------------------------
Project ExamInfoManager.exe raised exception class EAccessViolation with message 'Access violation at address 0047F73D in module 'ExamInfoManager.exe'. Read of address 000000D2'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help  
---------------------------

[解决办法]
错误在try 之前已经发生了~~
[解决办法]
LZ是工作还是搞着玩。delphi已经快要退出历史舞台了。
[解决办法]
异常处理是有用的,
不过有些异常,dELPHI捕获不到而已
[解决办法]
你是用单步调试的,所以异常会先被编译器捕捉了,如果你直接运行编译好的EXE就会触发你捕捉的异常信息了.
[解决办法]
3楼闪一边去
有我们在,DELPHI就不会倒
而且从08起DELPHI已经慢慢恢复元气
楼主代码写错了
要这样写
try
...........
except
exit;
ShowMessage('error');
end;

很多书上对DELPHI的异常处理都写错了
少了exit

楼主给点会吧
我没分用了
谢谢
[解决办法]
try..except..end在执行EXE的时候才会弹出你的提示框,在DELPHI环境下运行是不会的。
不过楼主我觉得你可以用if DbGrid.DataSource.DataSet.RecordCount = 0 then
来判断DBGrid里面有没有数据。

热点排行