例外処理
■ このスレッドは過去ログ倉庫に格納されています
0423デフォルトの名無しさん
2007/01/15(月) 11:05:00システム内部は全てワイド文字で処理してるプログラムの例外って
みんなどうしてる?
std::exceptionのwhat()ってconst char*しか扱えないじゃない?
そうするとシステム内部のワイド文字列を例外に載せようとした時、
2つの解決方法があると思うんだ。
1つはその文字列をマルチバイト文字列にコンバートして
std::exception(の派生クラス)で投げる。
もう1つはワイド文字列を運べるwexceptionクラスを自作する。
1だと投げる時WCS>MBS、捕まえて表示するときMBS>WCSと
無駄な処理が発生する場合がある。
2だとSTLとかが投げる例外と自分のシステムが投げる例外が
同じ処理をする場合でも、いちいちcatch節を2つ書かなきゃならない。
まあ例外は全てMBSで扱って表示もMBSでしかしないってのもアリだけど
■ このスレッドは過去ログ倉庫に格納されています