例外処理を理解する
例外処理の手法を使って実行時エラーに適切に対処します
「例外処理を理解する」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン3/5です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全5レッスンが含まれています。
例外処理の概要
例外処理を理解する
次のレッスンへようこそ!このレッスンでは、C# の例外処理とその重要性、アプリケーションでエラーを効果的に処理する方法を学びます。それでは始めましょう!

例外処理とは
例外処理とは
例外処理は、実行時エラーに制御された方法で対応する仕組みです。予期しない状況が発生しても、プログラムを適切に復旧できるようにします。
重要なポイント: 例外処理を使用して、アプリケーションのクラッシュを防ぎ、ユーザーに意味のあるフィードバックを提供します。
Try-Catch ブロック
Try-Catch ブロック
try-catch ブロックは、例外を処理するために使用します。例外をスローする可能性があるコードを try ブロック内に記述し、catch ブロックで例外を処理します。例:
重要なポイント: 異なるエラーを処理するため、catch ブロックでは具体的な例外の種類を使用します。
using System;
class Program {
static void Main() {
try {
int result = 10 / 0; // This will throw a DivideByZeroException
} catch (DivideByZeroException ex) {
Console.WriteLine("Error: " + ex.Message);
}
}
}
Finally ブロック
Finally ブロック
finally ブロックは、例外が発生したかどうかにかかわらず、必ず実行するコードを記述するために使用します。例:
ヒント: ファイルやデータベース接続を閉じるなどの後片付け処理には、finally ブロックを使用します。
using System;
class Program {
static void Main() {
try {
int[] numbers = { 1, 2, 3 };
Console.WriteLine(numbers[5]); // This will throw an IndexOutOfRangeException
} catch (IndexOutOfRangeException ex) {
Console.WriteLine("Error: " + ex.Message);
} finally {
Console.WriteLine("This will always execute.");
}
}
}
例外をスローする
例外をスローする
throw キーワードを使用して、例外を手動で発生させることができます。例:
重要なポイント: アプリケーションのルールを適用したり、無効な状態に対処したりするために例外をスローします。
using System;
class Program {
static void Main() {
try {
ValidateAge(15);
} catch (Exception ex) {
Console.WriteLine("Error: " + ex.Message);
}
}
static void ValidateAge(int age) {
if (age < 18) {
throw new ArgumentException("Age must be 18 or older.");
}
}
}
カスタム例外
カスタム例外
特定のアプリケーションエラーを処理するために、カスタム例外クラスを定義できます。例:
ヒント: アプリケーションのロジックに固有の、意味のあるエラーメッセージを提供するには、カスタム例外を使用します。
using System;
class CustomException : Exception {
public CustomException(string message) : base(message) {}
}
class Program {
static void Main() {
try {
throw new CustomException("This is a custom exception.");
} catch (CustomException ex) {
Console.WriteLine("Caught custom exception: " + ex.Message);
}
}
}
練習問題
練習問題
ユーザーから数値を入力して受け取り、その数値が負の場合に例外をスローするプログラムを作成してください。try-catch ブロックを使用して例外を処理します。例:
using System;
class Program {
static void Main() {
try {
Console.WriteLine("Enter a number:");
int number = int.Parse(Console.ReadLine());
if (number < 0) {
throw new ArgumentException("Number cannot be negative.");
}
Console.WriteLine("You entered: " + number);
} catch (Exception ex) {
Console.WriteLine("Error: " + ex.Message);
}
}
}
例外処理のベストプラクティス
例外処理のベストプラクティス
以下にベストプラクティスを示します。
- ほかのエラーを隠してしまわないよう、具体的な例外だけを捕捉します。
- リソースのクリーンアップには
finallyブロックを使用します。 - 例外は、制御フローではなく例外的な状況に対してスローします。
- 本番環境で問題を追跡できるよう、例外をログに記録します。
ヒント: 適切な例外処理によって、アプリケーションの堅牢性と使いやすさが向上します。
例外処理の復習
よくできました!
おめでとうございます!エラーに強いアプリケーションを構築するために、例外を効果的に処理する方法を学びました。次のレッスンでは、データを管理およびクエリするためのデータベースの扱い方を学びます。引き続きコーディングしましょう!

よくある質問
「例外処理を理解する」レッスンは無料ですか?
はい。「例外処理を理解する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全5レッスンが含まれています。
「例外処理を理解する」で何を学びますか?
例外処理の手法を使って実行時エラーに適切に対処します ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C# Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/5です。
「例外処理を理解する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC# Academyレッスンでコードを書いて実行できますか?
はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。