演習課題「例外処理を定義しよう」
右のコードでは、 Hello Word,answer,Hello C#を出力しますが、100を0で代入したnumber変数で割るため、例外が発生しプログラムが強制終了してしまいます。
このプログラムに、try-catch-finallyを追加して、例外が発生してもプログラムが強制終了しないようにして下さい。
プログラムを実行して、想定どおり出力されれば演習課題クリアです!
期待する出力値
Hello World
Attempted to divide by zero.
Hello C#
#02:簡単な例外処理をしてみよう
簡単な例外処理を実際に記述します。例外が発生する簡単なプログラムをつくって、それに対応するコードを書いてみましょう。
// 簡単な例外処理をしてみよう
using System;
class Lesson10
{
public static void Main()
{
Console.WriteLine("Hello World");
try
{
int number = 0;
int answer = 100 / number;
Console.WriteLine(answer);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
Console.WriteLine("Hello C#");
}
}
}
try: 例外を捕捉する範囲を{}で示す
catch: 例外発生時の対応処理である例外ハンドラを{}の中に記述する
finally: 例外が発生してもしなくても、必ず実行する処理を{}の中に記述する
例外処理 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
https://ufcpp.net/study/csharp/oo_exception.html
例外と例外処理 - C# プログラミング ガイド | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/exceptions/
ランタイムエラーとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
https://wa3.i-3-i.info/word14897.html
Exception Class (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.exception?view=netframework-4.8