質問: 提示コードですがtry catch{ } 構文を使ってvectorで出た例外を補足したいのですがなぜ画面に何も表示されないのでしょうか?たとえtry catch構文そもそもがおかしくても最後のprintf();であああああと出力されるはずなのですがなぜ何も表示されないのかわかりません。 保存して cl main.cppをしてmain.exe を実行 表示なし 保存して cl /EHsc main.cpp をしてmain.exe 実行 表示なし cl /EHsc のほうのコマンドは警告文やnote など何も表示されないため正常にコンパイルが通っているものと思われるのですが以前として何も表示されません。 ``` #include "stdio.h" #include int main() { //idx.emplace_back(0); //idx[0].emplace_back(0); try { std::vector> idx; printf("idx: %d\n",idx[0][0]); }catch(std::exception &e) { printf("いいいいいいい\n"); //printf("%s\n",e.message()); printf("%s\n,",e.what()); } printf("あああああああ\n"); return 0; } ```
回答: printf("idx: %d\n", idx.at(0).at(0)); じゃないと例外は飛ばんのでは。