Обычно я всегда просто распределяю свои строковые буферы, используя new
и включаю nothrownew.obj
, позволяя мне делать такие вещи, как:
UINT errcode=NO_ERROR;
TCHAR *mystring;
if ((mystring=new TCHAR[MY_STRING_BUFFER_SIZE])!=NULL) {
...
delete[] mystring;
}
else errcode=ERROR_MEMORY;
У меня даже есть свой собственный класс в форме CString, который возвращает NULL или FALSE при распределении, поэтому не сильно отличается.
Теперь я хотел бы попытаться использовать класс ATL CString
, поскольку у него есть и другие приятные вещи, которых нет в моем собственном ограниченном классе CString. Одна вещь, которая возникла, это то, что мне, вероятно, понадобится обработка исключений; Это правда? Если да, то как правильно обрабатывать вещи с помощью try / catch, чтобы приложения не зависали? Прямо сейчас я использовал GetBuffer(n)
для получения информации через WM_GETTEXT. Я нашел некоторую информацию об обработке исключений в MFC, но я этим не пользуюсь.
ТИА !!