最終更新日時: 2026年01月19日 18時33分38秒 (JST)
Akira Takahashi が更新

履歴 編集

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!