Re: Exception handling?
Well I'm glad that my thread is getting a lot of input, but
most of the talk on this section is loosing me at my level.
I'm getting confused as to whether I should "try and catch"
on not "try and catch". If you would, could you please
comment on my code with question comments below.
It is not that long and you can just say whatever brief
or elongation review you have time for.
---------------
Additionally I have this logic going so far.
// in the read loop of MyDoc class serialize
else
{
try
{
ar >> FID_Read;; // DWORD FID_Read;
if (FID_Read != FileID) // const DWORD FileID;
{ // FileID mismatch
throw new CWrongFileIDException();
}
ar >> VerData.Ver >> VerData.CpyRt >> VerData.Corp;
ar.SerializeClass(RUNTIME_CLASS(CMapStringToString));
ExpMap1.Serialize(ar);
}
catch(CWrongFileIDException* e)
{
// Do whatever I may need here
// so far nothing that I can tell, in fact it seems I could have just
// eliminated my try and catch handlers and just called the
// AfxThrowArchiveException in the if loop above ?
e->Delete( );
AfxThrowArchiveException(CArchiveException::badIndex, NULL ); //Invalid file format
// The above takes me to the exact same cleanup code that I get when
// I read in a corrupt file (with NO exception code at all ) and mfc handlers it.
// And leaves me with an untitled filename eliminating the change if inadvertant
// save overwrite.
}
}