演習課題「呼び出し元へ例外を伝えよう」
右のコードは、簡単な割り算プログラムで例外は発生しませが、ここでは、throwを使って意図的に例外を発生させてください。
ゼロで割り算した時に発生する例外オブジェクトを投げるようにして、下記のエラーメッセージを表示するようコードを修正してください。
プログラムを実行して、想定どおり出力されれば演習課題クリアです!
期待する出力値
Hello World
50
Hello C#
期待する標準エラー出力値
0では割り算できません
#07:throwで意図的に例外を投げよう
例外を意図的に投げるthrowについて学習します。throwを使うと、意図的に例外を発生させることができます。
// throwで意図的に例外を投げよう
using System;
class Lesson10
{
public static void Main()
{
Console.WriteLine("Hello World");
try
{
int number = 2;
int answer = 100 / number;
Console.WriteLine(answer);
throw new Exception("強制エラー");
}
catch (DivideByZeroException e)
{
Console.WriteLine("0では割り算できません");
Console.Error.WriteLine(e);
}
catch (Exception e)
{
Console.WriteLine("例外が発生しました");
Console.Error.WriteLine(e);
}
finally
{
Console.WriteLine("Hello C#");
}
}
}
例外の作成とスロー - C# プログラミング ガイド | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/exceptions/creating-and-throwing-exceptions
例外処理 - 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/
Exception Class (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.exception?view=netframework-4.8