最終更新日時(UTC):
が更新

履歴 編集

class
<stdexcept>

std::logic_error

namespace std {
    class logic_error : public exception;
}

概要

logic_errorクラスはプログラムの実行前に検出可能なエラー(論理エラー)を通知するために送出される例外クラス全般に対する基底クラスである。

メンバ関数

名前 説明 対応バージョン
(constructor) コンストラクタ
(destructor) デストラクタ
operator= 代入演算子
what エラー理由を取得する

#include <stdexcept>
#include <iostream>

int square_root(int num) {
  if (num < 0) {
    throw std::invalid_argument("Cannot perform calculations with negative numbers!")
  }
  return num * num;
}

int main() {
  try {
    square_root(-5);
  } catch (const std::logic_error& e) {
    std::cerr << "Error: " << e.what() << "\n";
  }
}

出力 (標準エラー出力)

Error: Cannot perform calculations with negative numbers!