请问字符串截取的错误处理,CString string.Mid(10, 6); 即怎样处理字符串截取操作所抛出的错误?

请教字符串截取的异常处理,CString string.Mid(10, 6); 即怎样处理字符串截取操作所抛出的异常???
我在操作CString 对象的时候,出现故障;每次程序运行的时候,都会弹出提示对话框,不胜其烦啊。具体情况如下:


CStdioFile filer(file1, CFile::Read); //filer是CStdioFile 对象操作file1,负责读取file1
CStdioFile filew(file2, CFile::Write);//filew是CStdioFile 对象操作file2,负责写入file2
CString str;
//先进行定位
filer.SeekTOBegin();
filew.SeekToEnd();

//抽出file1中指定位置的数据写入file2中
for(int line=1; line=10; line++)
{
 fier.ReadString(str);
 CString test=str.Mid(10,6)+'\n';
//MessageBox(test);用于跟踪显示写入file2的数据
 filew.WriteString(test);
}

当程序运行到line=3的时候跳出,且有提示对话框。当使用MessageBox(test);来跟踪的时候,显示为空(当然line==1或2的时候有内容:string)。

我的问题是怎样处理这个异常(即:当line==3的时候,用程序处理这个异常,消除对话框的弹出,然后当line>3的时候,程序继续运行,不需要人为干涉)?我看了一下MFC的CString::Mid() 操作,有什么:throw( CMemoryException );兄弟我没有干过这个活,不知道怎样处理,在此有请各位兄弟携手相助。注:不要告诉我在for循环中加入if(line==3)continue;我所处理的对象是不允许这么做的。



下面是file1的内容:
0123456789string //file1的第一行,line1
0123456789string //file1的第二行,line2
  //file1的第三行,line2
0123456789string //file1的第四行,line2
0123456789string
0123456789string
0123456789string
012
0123456789string
0123456789string



------解决方案--------------------
try 不是根本,在 CString test=str.Mid(10,6)+'\n'; 加入 if str.Length() > ... 判断。
------解决方案--------------------
不,楼上,严格说是str.trimleft().getlength()
------解决方案--------------------
用wang_junjie和shakaqrj的方法,用CString之前先判断CString是否可用
------解决方案--------------------
楼主,你这种情况下调用异常处理有什么意义么??
这个应该是你自己写判断,进行处理的,先判断字符串为空否?是否有效。我想这不是异常处理要关心的吧。。
同意5楼和六楼的观点。。。