Menu
Coddy logo textTech

Try-Catch Basics

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 23/66。

C# の例外処理により、実行時エラーを優雅に管理できます。try-catch ブロックは、例外を処理する基本的な方法です。

基本的な try-catch ブロックを作成する:

try
{
    // 例外(エラー)をスローする可能性のあるコード
    int result = 10 / 0; // これは DivideByZeroException をスローします
}
catch (Exception ex)
{
    // 例外を処理する
    Console.WriteLine("An error occurred: " + ex.Message);
}

上記のコードを実行した後、プログラムがクラッシュする代わりに、以下が表示されます:

An error occurred: Attempted to divide by zero.

catch ブロックの後にコードの実行を続行できます:

try
{
    int result = 10 / 0;
    Console.WriteLine("This won't execute");
}
catch (Exception ex)
{
    Console.WriteLine("Caught an error: " + ex.Message);
}

Console.WriteLine("Program continues running");
challenge icon

チャレンジ

簡単

DivideNumbers という名前のメソッドを作成し、2 つの整数をパラメータとして受け取ってください:

  • numerator - 割られる数
  • denominator - 割る数

このメソッドは次のことを行うべきです:

  1. numerator を denominator で割ることを試みる
  2. 成功した場合に結果を返す
  3. 任意の DivideByZeroException をキャッチし、正確に: "Cannot divide by zero!" を出力する
  4. 例外が発生した場合は 0 を返す

チートシート

C# における例外処理は、try-catch ブロックを使用して実行時エラーを優雅に管理します:

try
{
    // Code that might throw an exception
    int result = 10 / 0;
}
catch (Exception ex)
{
    // Handle the exception
    Console.WriteLine("An error occurred: " + ex.Message);
}

catch ブロックの後にコード実行が継続し、プログラムのクラッシュを防ぎます。DivideByZeroException のような特定の例外型をキャッチすることで、より対象を絞ったエラー処理が可能です。

自分で試してみよう

using System;

class Program {
    public static int DivideNumbers(int numerator, int denominator) {
        // ここにコードを書いてください
    }
    
    static void Main(string[] args) {
        int numerator = int.Parse(Console.ReadLine());
        int denominator = int.Parse(Console.ReadLine());
        
        int result = DivideNumbers(numerator, denominator);
        Console.WriteLine(result);
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン