try except的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 bbcock
  • 开始时间 开始时间
B

bbcock

Unregistered / Unconfirmed
GUEST, unregistred user!
try
frmwenjian:=tfrmwenjianliebiao.create(application);
frmwenjian.showmodal;
frmwenjian.Destroy ;
except
MessageBox(0, '窗体创建错误', '产生严重错误', MB_OK +MB_ICONSTOP);
end;


这样做好像不对吧?
 
try
frmwenjian:=tfrmwenjianliebiao.create(application);
frmwenjian.showmodal;
frmwenjian.Destroy ;
except
MessageBox(0, '窗体创建错误', '产生严重错误', MB_OK +MB_ICONSTOP);
end;


这样做好像不对吧?
 
try
frmwenjian:=tfrmwenjianliebiao.create(application);
frmwenjian.showmodal;
FreeAndNil(frmwenjian);
except
MessageBox(0, '窗体创建错误', '产生严重错误', MB_OK +MB_ICONSTOP);
end;
 
try
frmwenjian:=tfrmwenjianliebiao.create(application);
frmwenjian.showmodal;
frmwenjian.free;
except
MessageBox(0, '窗体创建错误', '产生严重错误', MB_OK +MB_ICONSTOP);
end;
 
如果你想再安全一点,可以这样
try
frmwenjian:=tfrmwenjianliebiao.create(application);
try
frmwenjian.showmodal;
finally
FreeAndNil(frmwenjian);
end
except
//在这个位置,不一定是创建错误,ShowModal或者Free错误都会跳到这里
MessageBox(0, '窗体创建错误', '产生严重错误', MB_OK +MB_ICONSTOP);
end;
 
放飞的方法不错
FreeAndNil函数相当于
frmwenjian.free
frmwenjing:=nil;
 
我在frmwenjian窗体中用了filelistbox,当路径不存在时,filelistbox会抱错,所以我想用try except屏蔽那个file not found对话框,但用上面的代码试了,好像屏蔽不了?
 
运行.exe文件,不要再IDE中run
 
最好不要试着这样去屏蔽错误,你可以在给FileListBox指定路径之前,先用DirectoryExists函数测试一下路径是否存在,如果不存在,作其它处理
 
放飞说得对,先判断文件是否存在是最好的办法
 
多人接受答案了。
 
后退
顶部