#09:例外のクラス構成を理解しよう
例外のクラス構成について学習します。
// 例外のクラス構成を理解しよう
using System;
class Lesson10
{
public static void Main()
{
try
{
// throw new Exception();
// throw new FormatException();
// throw new IndexOutOfRangeException();
// throw new DivideByZeroException();
throw new ArgumentNullException();
}
catch (ArgumentException e)
{
Console.WriteLine(1);
Console.WriteLine(e);
}
catch (ArithmeticException e)
{
Console.WriteLine(2);
Console.WriteLine(e);
}
catch (SystemException e)
{
Console.WriteLine(3);
Console.WriteLine(e);
}
catch (Exception e)
{
Console.WriteLine(4);
Console.WriteLine(e);
}
}
}
Exception Class (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.exception?view=netframework-4.8
IndexOutOfRangeException Class (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.indexoutofrangeexception?view=netframework-4.8
ArgumentNullException Class (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.argumentnullexception?view=netframework-4.8
DivideByZeroException Class (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.dividebyzeroexception?view=netframework-4.8
FormatException Class (System) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/api/system.formatexception?view=netframework-4.8
例外と例外処理 - C# プログラミング ガイド | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/exceptions/
例外の再スロー 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/creating-and-throwing-exceptions