El estándar std::exception::what()
de C++ devuelve una cadena de caracteres angosta. Por lo tanto, si quiero poner un mensaje de cadena de caracteres amplia allí, no puedo.¿Existe un patrón típico para manejar cadenas de caracteres anchos en excepciones?
¿Hay una manera común/patrón/biblioteca de/para evitar esto?
EDITAR: Para que quede claro, podría simplemente escribir mi propia clase de excepción y heredar de ella, pero tengo curiosidad si hay una implementación más o menos estándar de esto. boost::exception
parece hacer la mayor parte de lo que estaba pensando ...
Iba a sugerir que se vuelva a codificar la cadena como UTF8, pero dada la situación en la que se usaría, ¡me alegro de no haberlo hecho! – dreamlax
Avíseme si lo descubre. Estoy enfrentando el mismo problema. En teoría, se podría crear una nueva clase base para las excepciones, pero eso hace que todos los fines de captura sean realmente complicados. Tal vez una nueva clase de wexception: public std :: exception, y hacer la magia dentro, pero me temo que podría volverse muy ineficiente. –
Posiblemente relacionado: [Excepciones con Unicode what()] (http://stackoverflow.com/questions/3760731) –