C++

例外とファイル

失敗を伝える例外と、データを保存するファイル入出力を学びます。

C++入門の講座一覧

01

例外とエラー

呼び出し側で回復可能な異常は例外で伝えられます。#include <stdexcept>が必要です。

安全な割り算C++
double divide(double a, double b) {
    if (b == 0) throw std::invalid_argument("0では割れません");
    return a / b;
}
try { std::cout << divide(10, 0) << '\n'; }
catch (const std::invalid_argument& error) { std::cout << error.what() << '\n'; }
実行結果OUTPUT
0では割れません
02

ファイルの読み書き

出力にstd::ofstream、入力にstd::ifstreamを使います。#include <fstream>が必要です。書き込み側をスコープで囲むと、スコープを抜けるときにファイルが自動で閉じられます。

保存して読むC++
#include <fstream>
#include <iostream>
#include <string>

int main() {
    {
        std::ofstream output{"memo.txt"};
        if (!output) return 1;
        output << "C++を学習中\n";
    }
    std::ifstream input{"memo.txt"};
    std::string line;
    std::getline(input, line);
    std::cout << line << '\n';
}
実行結果OUTPUT
C++を学習中
03

練習

ファイルが存在しない場合にエラーメッセージを表示し、存在する場合だけ内容を読み込むプログラムを作ってみましょう。