1. ホーム
  2. c++

[解決済み] C++でbad_allocに対処する方法は?

2022-02-27 23:11:06

質問

というメソッドがあります。 foo というエラーが返ってくることがあります。

terminate called after throwing an instance of 'std::bad_alloc'
  what():  std::bad_alloc
Abort

を使用する方法はありますか? try - catch ブロックを使って、このエラーがプログラムを終了させないようにします。 -1 )?

その場合、どのような構文になるのでしょうか?

他にどのように bad_alloc をC++で作成することはできますか?

どのように解決するのですか?

他の例外と同様にキャッチすることができます。

try {
  foo();
}
catch (const std::bad_alloc&) {
  return -1;
}

ここから何ができるかはあなた次第ですが、技術的に可能であることは間違いないでしょう。