導入
プログラムは「0で割る」「数値でない文字列を変換する」など、実行中に例外(エラー)で止まることがあります。try-catchを使うと、その例外を受け止めてプログラムの停止を防げます。
図解
flowchart TB
T["try ブロックの処理"] --> E{"例外が起きた?"}
E -->|いいえ| N["そのまま続行"]
E -->|はい| C["catch ブロックで対応<br/>(プログラムは止まらない)"]
C --> AFTER["続きの処理へ"]
N --> AFTER
サンプル
try
{
int result = int.Parse("abc"); // ここで例外が発生
Console.WriteLine(result); // この行は実行されない
}
catch (Exception ex)
{
// 例外が起きたらここに飛んでくる
Console.WriteLine($"エラーが発生: {ex.Message}");
}
Console.WriteLine("プログラムは続行しています");
try { ... }に「失敗するかもしれない処理」を書くcatch (Exception ex) { ... }で例外を受け止める。ex.Messageにエラー内容が入る- 例外を受け止めればプログラムは止まらず、続きを実行できる
演習
string input = "not a number";
// TODO: input を int.Parse で変換し、失敗したら "変換できませんでした" と出力してください
___
- 期待される出力:
変換できませんでした
ヒント1を見る
try { int.Parse(input); } catch (Exception) { ... }
ヒント2を見る
try { int.Parse(input); } catch (Exception) { Console.WriteLine("変換できませんでした"); }
まとめ
try-catchで例外を受け止め、プログラムの停止を防ぐcatch (Exception ex)のex.Messageにエラー内容が入る- 「失敗しうる処理」を
tryで囲むのが基本
次回: 例外の種類を見分けてcatchを絞り込みます。