下面这段代码为什么在线程里运行如果没有连接网络,就会程序崩溃,该如何解决

下面这段代码为什么在线程里运行如果没有连接网络,就会程序崩溃
CString   url,   data;

url=   "http://yangzs.yeah.net ";

CInternetSession   is;
CHttpFile*   phf   =   NULL;
phf=(CHttpFile*)is.OpenURL(url,   1,
INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_RELOAD);//打开文件  

data.Empty();
CString   sTmp;
while(   phf-> ReadString(sTmp)   )
{
data   +=   sTmp;
m_txt=data;
}

------解决方案--------------------
phf=(CHttpFile*)is.OpenURL(url, 1,
INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_RELOAD);//打开文件
if(phf == NULL)
{
return;
}
------解决方案--------------------
当然应该先判断返回值是否有效。