C# 演習

C#で業務用の例外を自分で定義する

このレッスンでは、業務上のエラーを表す独自の例外の型を作り、その種類のエラーだけを正確に捕まえます。

はじめに

汎用的なExceptionを投げる代わりに、在庫不足のような業務上のエラーをはっきり表す名前の例外を自分で定義できます。こうするとコードが読みやすくなり、エラー処理の部分で処理したい種類のエラーを正確に捕まえられます。

クラスInsufficientStockExceptionはExceptionを継承しているので、普通の例外の振る舞いをすべて持っています。Reserveメソッドは、要求された数量が在庫より多いときにこの例外を投げます。catchブロックはInsufficientStockExceptionの種類だけを捕まえ、Not enough stockというメッセージを表示します。

実行できる C# の例

C#
コードを実行 →
Program.cs
using System;
class InsufficientStockException(string message) : Exception(message) { }
class Program
{
    static void Reserve(int available, int requested)
    {
        if (requested > available) throw new InsufficientStockException("Not enough stock");
    }
    static void Main()
    {
        try { Reserve(2, 3); }
        catch (InsufficientStockException error) { Console.WriteLine(error.Message); }
    }
}
実行結果
Not enough stock

デバッガーで練習する

大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ