カテゴリ: C# 更新日: 2025/12/11

C#のエラーと例外の基本!初心者がよく出会うエラーとその対処法まとめ

C#のエラーと例外の基本!初心者がよく出会うエラーとその対処法まとめ
C#のエラーと例外の基本!初心者がよく出会うエラーとその対処法まとめ

先生と生徒の会話形式で理解しよう

生徒

「C#のプログラムを作ろうとしたら、赤い文字でエラーって出ました!これってどうすればいいんですか?」

先生

「それはC#のエラーというもので、プログラムに間違いがあるときに表示されるんですよ。」

生徒

「初心者でもよくあるエラーって、どんなものですか?」

先生

「それでは、初心者がよく出会うC#のエラーと、その対処法を一緒に学んでいきましょう!」

1. エラーと例外って何?

1. エラーと例外って何?
1. エラーと例外って何?

C#でプログラミングをしていると、「エラー(Error)」「例外(Exception)」という言葉に出会うことがあります。これらは、プログラムの中で何かがおかしいときに教えてくれるサインです。

例えば、「りんごを3個ください」と言われたのにりんごが1個しかなかったら、「りんごが足りません!」と教えてくれるようなものです。

エラーには主に2種類あります:

  • 文法エラー(構文エラー):プログラムの書き方が間違っている。
  • 実行時エラー(例外):書き方は正しいけど、動かしてみたら問題が起きる。

2. よくあるC#の文法エラーとその意味

2. よくあるC#の文法エラーとその意味
2. よくあるC#の文法エラーとその意味

プログラミング初心者がよく出会うエラーには、次のようなものがあります。

2-1. セミコロン(;)を忘れた!

C#では、文の終わりに;(セミコロン)をつける必要があります。


Console.WriteLine("こんにちは")

このコードにはセミコロンがありません。正しくはこうです:


Console.WriteLine("こんにちは");

2-2. カッコを閉じ忘れた!

カッコには、(){}があります。開いたら必ず閉じましょう。


if (x > 10
{
    Console.WriteLine("10より大きいです");

()が閉じられていません。正しくは:


if (x > 10)
{
    Console.WriteLine("10より大きいです");
}

2-3. スペルミス

例えばConsoleConsolと書いてしまうと、


Consol.WriteLine("こんにちは");

このようなエラーになります。「その命令は知らないよ」と言っているのです。

3. 実行時エラー(例外)の基本

3. 実行時エラー(例外)の基本
3. 実行時エラー(例外)の基本

文法エラーがなくても、プログラムを実行したときにエラーが出ることがあります。これを「例外(Exception)」といいます。

例えば、0で割る計算をするとどうなるでしょう?


int x = 10;
int y = 0;
int result = x / y;

このコードを実行すると、次のような例外が発生します。


System.DivideByZeroException: 0 で除算しようとしました。

これは「0では割り算できないよ!」という意味です。

4. try-catchで例外を防ぐ

4. try-catchで例外を防ぐ
4. try-catchで例外を防ぐ

try-catch構文を使うことで、例外が発生してもプログラムを止めずにエラーメッセージを出すことができます。


int x = 10;
int y = 0;

try
{
    int result = x / y;
    Console.WriteLine(result);
}
catch (DivideByZeroException)
{
    Console.WriteLine("0で割ることはできません!");
}

0で割ることはできません!

tryの中でエラーが起きたら、catchに書かれた処理が実行されます。

5. よくある例外の種類と意味

5. よくある例外の種類と意味
5. よくある例外の種類と意味

C#にはよく出る例外がいくつかあります。初心者がよく出会うものを紹介します。

  • DivideByZeroException:0で割り算しようとしたとき
  • NullReferenceException:使おうとしたものが空(null)のとき
  • FormatException:文字を数字に変換しようとしたけど、数字じゃなかったとき

FormatExceptionの例


string input = "abc";
int number = int.Parse(input);

「abc」は数字ではないので、このコードはエラーになります。

6. エラーが出たときの対処法

6. エラーが出たときの対処法
6. エラーが出たときの対処法

エラーが出たとき、初心者でもできる対処法を紹介します。

  • 赤いエラーメッセージをよく読む:「どこで何がダメだったのか」が書かれています。
  • 該当の行番号を確認する:Visual Studioなどでは、エラーのある行にマークがつきます。
  • スペルやカッコをチェックする:小さなミスが多いです。
  • 検索する:エラーメッセージをコピーしてGoogleで調べると、多くの解決方法が見つかります。

7. エラーを恐れずにチャレンジしよう!

7. エラーを恐れずにチャレンジしよう!
7. エラーを恐れずにチャレンジしよう!

エラーは初心者だけでなく、プロのプログラマーでも日常的に経験するものです。大切なのは「エラーが出ても諦めずに原因を探す」ことです。

最初のうちは意味がわからなくても、少しずつ読めるようになります。間違えることで、プログラミングがどんどん上達しますよ!

まとめ

まとめ
まとめ

C#のエラーや例外についてふりかえると、エラーは単純な書き間違いから、実行して初めて気づく問題まで幅広く存在し、プログラムを理解するうえで欠かせない重要な要素であることが分かります。とくに初心者が最初につまずきやすいのは、セミコロンの付け忘れやカッコの閉じ忘れ、命令のスペルミスといった文法的な誤りで、これらは小さなミスのように思えても、プログラム全体を止めてしまう原因になります。文法エラーは、プログラムを書いている段階で早いタイミングで発見されるため、焦らず落ち着いてメッセージを読み解き、自分の書いたコードを確認していく習慣を身につけることが大切です。 また、書き方が正しくても実行したときに発生する例外は、より実践的なエラーで、プログラムが実際に動く中で起きる特有の問題です。例えば、0で割ると発生するDivideByZeroException、値がnullのまま操作しようとしたときのNullReferenceException、数字ではない文字列を数値に変換したときのFormatExceptionなど、よく出る例外の意味を知っておくことで、原因をすばやく判断しやすくなります。例外はルールを理解していれば必ず対処できますし、try-catchを使ってプログラムを安全に動かす方法を覚えておくことは、今後の開発でも大いに役立つスキルになります。 さらに、エラーが出たときに表示されるメッセージを正しく読む力は、プログラミングの上達に欠かせない重要な能力です。赤い文字を見ると驚いてしまいますが、そのメッセージには「どこで」「何が」問題になっているかが丁寧に書かれているため、読み慣れるほど問題解決がスムーズになります。行番号を確認する、エラーの単語を調べる、スペルを再確認するなど地道な作業を繰り返すことで、自然とエラーに強くなっていきます。 今回学んだ「文法エラー」「実行時エラー」「例外の種類」「try-catchの役割」「よくある初心者のミス」はどれもC#を使いこなす基礎の部分であり、どんな大規模なプログラムでも避けて通れないものです。エラーを正しく理解し、原因を丁寧に追う姿勢を身につければ、プログラミングはより魅力的で楽しいものになります。下記のような簡単な例外処理付きプログラムを試しに書いてみると、C#の動作をより深く理解できるはずです。

サンプルプログラムで例外処理に慣れよう


using System;

class ErrorSummarySample
{
    static void Main()
    {
        Console.WriteLine("数字を入力してください:");
        string input = Console.ReadLine();

        try
        {
            int number = int.Parse(input);
            int result = 100 / number;
            Console.WriteLine("計算結果:" + result);
        }
        catch (FormatException)
        {
            Console.WriteLine("数字以外が入力されています。正しい数字を入力してください。");
        }
        catch (DivideByZeroException)
        {
            Console.WriteLine("0で割ることはできません。別の数字を入力してください。");
        }
    }
}

このプログラムでは、ユーザーから入力された文字を数値に変換し、100を割り算する処理を行います。数値でない入力にはFormatException、0を入力した場合にはDivideByZeroExceptionが発生し、それぞれcatchブロックで適切なメッセージを返します。例外処理のおかげでプログラムは途中で止まらず、エラーの種類に応じた案内を行えるので、とても実用的な仕組みになっています。こうした実例を通じてエラーの意味や例外処理の流れを理解することで、より安心してC#のプログラムを書くことができるようになるでしょう。 また、エラーは初心者だけでなく経験者でも日常的に向き合うものであり、エラーに強いということはプログラムの品質を上げるための基礎力が身についている証拠ともいえます。どんな場面でも落ち着いて原因を特定し、自分で解決方法を探せるようになるためにも、普段からエラーメッセージにじっくり向き合い、理解する習慣を持つことが大切です。今回の内容は、今後より複雑なプログラムを書く際にも確実に役立つ知識になりますので、何度も手を動かして感覚を定着させていきましょう。

先生と生徒の振り返り会話

生徒

「今日いろいろなエラーを見たけれど、意味が分かると少し安心しました。最初は赤い文字がすごく怖かったです。」

先生

「最初は誰でも驚きますよ。でも、エラーは悪いものではなくて『どこで間違えているか教えてくれているサイン』なんです。」

生徒

「例外も最初は難しそうに感じたけれど、0で割ったり数字じゃない文字を入れたり、理由が分かれば納得できますね。」

先生

「その通りです。try-catchを使えば安全にプログラムを動かすこともできますし、原因が分かれば対処方法も見つかりやすくなりますよ。」

生徒

「これからはエラーが出ても落ち着いて読んで、少しずつ原因を探っていけるように頑張ります!」

先生

「その姿勢が大事です。エラーに慣れていけば、もっと自由にC#を書けるようになりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

C#で表示される赤いエラーメッセージは何を意味していますか?

C#で出る赤いエラーメッセージは、プログラムに文法エラーや例外があることを示すサインです。どの行で何が間違っているかが書かれているため、メッセージをよく読むことで原因を特定できます。
カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.4
Java&Spring記事人気No4
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法