CHttpFile *file;
try
{
//
}catch(CException *e)
{
e->Delete();}
file->Close();//程序总是在这儿出错
delete file;
try
{
//
}catch(CException *e)
{
e->Delete();}
file->Close();//程序总是在这儿出错
delete file;
解决方案 »
- VS2003创建的程序,为什么在Win7上运行的时候会更改系统当前的配色方案
- listcontrol的问题 ,请求解
- VC6.0小问题,已解决,但不知道是什么原理。贴出来大家分享
- 出现这个错误是因为什么?"error LNK2001: unresolved external symbol __imp__CM_Request_Device_EjectA@20"
- 使用UDP发送广播的问题
- 怎么让CRichEditCtrl控件支持中文?因为有中文时它的LineIndex函数返回的值老是处错。
- 请大家介绍几个好的VC站点
- 交流交流多线程程序的开发经验好吗?
- 如何将CString类型转为DWORD?
- VC串口数据收发及保存到access数据库的流程?
- 在Windows的音量控制器中音量调到最大了,能不能编程实现在增大电脑的音量
- 关于模态对话框和MainFrame的问题
try
{
//
}catch(CException *e)
{
e->Delete();}
if (file)
{
file->Close();
delete file;
}
CInternetSession inetsession;
try
{
.......
httpfile->Close ();
delete []httpfile;
// delete httpfile;
inetsession.Close();
}
catch(...)
{
return -1;
}
可以放到try{}里试验一下,当然如果放在外面,检查一下httpfile==NULL?这样,就知道是否得到一个已经打开的httpfile
另外delete [] httpfile;这样处理比较好
CHttpFile *file = NULL;
try
{
//
}catch(CException *e)
{
e->Delete();}
if (file)//这样写就出错
{
file->Close();
delete file;
}
if (!file)//这样写就不出错
{
file->Close();
delete file;
}明明file己经不为空了
Returns a file handle for FTP, GOPHER, HTTP, and FILE-type Internet services only. Returns NULL if parsing was unsuccessful.返回的是文件句柄,实际也就是一个可以指针了,成功了,那么自然非NULL,不成功,则是NULL你的调用,发生异常了吗,也就是
catch{}执行到了吗?如果有Exception,httpfile指针指向的是否有效,不一定,如果try{}里都有异常,那么最好检查一下异常出现在什么地方另外判断的时候用if (file==NULL)