#08:呼び出し元へ伝わる例外
メソッドの中で処理中に例外が発生した場合、呼び出し元へその例外が伝わることを学習します。
// 例外は伝わる
using System;
class Lesson10
{
public static void Main()
{
Console.WriteLine(1);
try
{
int answer = Test(0);
Console.WriteLine(7);
Console.WriteLine(answer);
}
catch (DivideByZeroException e)
{
Console.WriteLine(8);
Console.WriteLine(e);
}
}
static int Test(int number)
{
Console.WriteLine(2);
try
{
Console.WriteLine(3);
int answer = 100 / number;
return answer;
Console.WriteLine(4);
}
catch (DivideByZeroException e)
{
Console.WriteLine(5);
throw;
}
Console.WriteLine(6);
}
}
例外の伝搬 例外処理 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
https://ufcpp.net/study/csharp/oo_exception.html#propagation
例外の再スロー throw - C# リファレンス | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/throw#re-throwing-an-exception
例外と例外処理 - 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