C#のエラーと例外の基本!初心者がよく出会うエラーとその対処法まとめ
生徒
「C#のプログラムを作ろうとしたら、赤い文字でエラーって出ました!これってどうすればいいんですか?」
先生
「それはC#のエラーというもので、プログラムに間違いがあるときに表示されるんですよ。」
生徒
「初心者でもよくあるエラーって、どんなものですか?」
先生
「それでは、初心者がよく出会うC#のエラーと、その対処法を一緒に学んでいきましょう!」
1. エラーと例外って何?
C#でプログラミングをしていると、「エラー(Error)」や「例外(Exception)」という言葉に出会うことがあります。これらは、プログラムの中で何かがおかしいときに教えてくれるサインです。
例えば、「りんごを3個ください」と言われたのにりんごが1個しかなかったら、「りんごが足りません!」と教えてくれるようなものです。
エラーには主に2種類あります:
- 文法エラー(構文エラー):プログラムの書き方が間違っている。
- 実行時エラー(例外):書き方は正しいけど、動かしてみたら問題が起きる。
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. スペルミス
例えばConsole
をConsol
と書いてしまうと、
Consol.WriteLine("こんにちは");
このようなエラーになります。「その命令は知らないよ」と言っているのです。
3. 実行時エラー(例外)の基本
文法エラーがなくても、プログラムを実行したときにエラーが出ることがあります。これを「例外(Exception)」といいます。
例えば、0で割る計算をするとどうなるでしょう?
int x = 10;
int y = 0;
int result = x / y;
このコードを実行すると、次のような例外が発生します。
System.DivideByZeroException: 0 で除算しようとしました。
これは「0では割り算できないよ!」という意味です。
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. よくある例外の種類と意味
C#にはよく出る例外がいくつかあります。初心者がよく出会うものを紹介します。
- DivideByZeroException:0で割り算しようとしたとき
- NullReferenceException:使おうとしたものが空(null)のとき
- FormatException:文字を数字に変換しようとしたけど、数字じゃなかったとき
FormatExceptionの例
string input = "abc";
int number = int.Parse(input);
「abc」は数字ではないので、このコードはエラーになります。
6. エラーが出たときの対処法
エラーが出たとき、初心者でもできる対処法を紹介します。
- 赤いエラーメッセージをよく読む:「どこで何がダメだったのか」が書かれています。
- 該当の行番号を確認する:Visual Studioなどでは、エラーのある行にマークがつきます。
- スペルやカッコをチェックする:小さなミスが多いです。
- 検索する:エラーメッセージをコピーしてGoogleで調べると、多くの解決方法が見つかります。
7. エラーを恐れずにチャレンジしよう!
エラーは初心者だけでなく、プロのプログラマーでも日常的に経験するものです。大切なのは「エラーが出ても諦めずに原因を探す」ことです。
最初のうちは意味がわからなくても、少しずつ読めるようになります。間違えることで、プログラミングがどんどん上達しますよ!