C#の例外処理
このレッスンでは、入力データをチェックし、予想できるエラーを、プログラムを突然止めずに処理します。
はじめに
例外(exception)は、プログラムが異常な状況に出会ったときにエラーを知らせる仕組みです。ユーザーが数値を間違った形式で入力するような予想できるエラーについては、エラーが起きてから捕まえるのではなく、TryParseのようなメソッドで先にチェックすることがC#では推奨されています。
int.TryParseメソッドは、文字列"42"を数値に変換しようとします。成功すれば結果がvalueに入り、プログラムは84を表示し、失敗すればInvalid numberというメッセージを表示します。この方法のほうが速く、わかりやすいです。try/catchブロックは、ライブラリが例外を投げてエラーを知らせる場合に使いましょう。
実行できる C# の例
C#
Program.cs
using System;
class Program
{
static void Main()
{
string input = "42";
if (int.TryParse(input, out int value))
Console.WriteLine(value * 2);
else
Console.WriteLine("Invalid number");
}
}
84デバッガーで練習する
大事な代入や条件にブレークポイントを置いて Debug を押し、次の行に進む前にローカル変数の値を確かめましょう。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
- 最初の無効な年齢 入力された年齢を検証し、プログラムがクラッシュする代わりに最初の不正な入力位置を報告します。 簡単
- 有効な数だけを合計する 整数の項目だけを合計し、それ以外は try/except で不正入力を扱うように無視します。 簡単