Code Fix

上級terminate called after throwing an instance of '...' の原因と直し方 › パターン1

terminate called after throwing an instance of '...' の原因と直し方

throwで投げた例外をどこのtry-catchでも捕まえられず、プログラム全体が異常終了してしまうバグです。

 1  #include <iostream>
 2  #include <stdexcept>
 3  void withdraw(int balance, int amount) {
 4      if (amount > balance) {
 5          throw std::runtime_error("insufficient funds");
 6      }
 7      std::cout << "ok" << std::endl;
 8  }
 9  int main() {
10      withdraw(____, 500);
                   ^
11      return 0;
12  }
terminate called after throwing an instance of 'std::runtime_error' what(): insufficient funds Aborted

空欄を埋めてコンパイル・実行を通す

広告
広告スロット(未設定)

terminate called after throwing an instance of '...' の原因と直し方

C++のランタイムはstd::terminateを呼び出し、プロセスを強制終了させます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)