Re: std::exception и UNICODE
От: korzhik Россия  
Дата: 17.12.04 13:35
Оценка:
Здравствуйте, __LeOn__, Вы писали:

__L>библиотеки. В общем портировать под Unix, но ANSI я её портировал, а вот с UNICODE возникла

__L>следующая проблема с std::exception и классами от него унаследованными, которые в этой библиотеке повсеместно используются. Мне не ясно как перевести на Unicode метод what и эти классы
__L>вцелом из-за использования в них const char*.

строку возвращаемую из метода what() можно использовать как ключ в ассоциативном контейнере,
например:
  std::map<const char*, const wchar_t*> errorMessages;

  class my_exception : public std::exception;

  catch(my_exception& ex)
  {
    std::cerr << errorMessages[ex.what()] << std::endl;
  }


проблема в том, что этот способ можно использовать только для своих классов исключений,
потому что сообщения стандартных классов исключений не стандартизированы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.