お世話になっています。永瀬と申します。
下記のようなコードを作っています。ファイルを読み込んだとき、関数のエラーとE
OFを判別したいのですが、
わからないことがあります。
1、ReadStringでヘルプをみると下記のパラメータの場合は例外をスロー
しないように書いてあるが、
デバッグモードで実行するとEOF時にアウトプットに、
    CArchive exception: endOfFile.
    例外処理 (初回) は asgddasg.exe (KERNEL32.DLL) にあります: 0xE06D7363:
Microsoft C++ Exception。
と出る。
2、アウトプットでは上記のようにでているが、例外を下記のコードでなぜかデバッ
グモードでキャッチできない。
(catchの部分に入っていかない)
なぜでしょうか?
わかるかた、御教授お願いします。

#include <afxwin.h>
#include <stdio.h>
void main()
{
 BOOL ret_b;
 CFile cfile;
 CString cstr("cstr");

 cfile.Open("C:/aaa.txt",
  CFile::modeRead | CFile::shareDenyRead|CFile::shareDenyWrite);
 CArchive ar(&cfile,CArchive::load);
 while(ret_b)
 {
  try
  {
   ret_b = ar.ReadString(cstr);
  }
  catch(CArchiveException* e)
  {
   if(e->m_cause == CArchiveException::endOfFile)
   {
    e->Delete();
    break;
   }
  }
 }
}