Правильный способ обработки исключений ATL CString? - PullRequest
0 голосов
/ 25 мая 2019

Обычно я всегда просто распределяю свои строковые буферы, используя 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, но я этим не пользуюсь.

ТИА !!

...