C#の例外処理も、基本的にはJava、C++と同じような感じ・・・。
tryブロックで、
System.Console.ReadLineで標準入力を読み込み、int.Parseで整数値にして、xに代入する・・・。
(System.Console.ReadLineや、intをクラスみたいに扱える理由とかは、後々で・・・。)
さて、この式において、xが0の時はどうなるだろうか・・・。
0で除算は当然のことながら例外となるので、例外処理をしないといけない・・・。
もし、0以外なら、
yが出力されるが、0の場合は、
例外発生なので、こちらのcatchブロックに飛ぶ・・・。
ToStringメソッドでExceptionのeの内容がわかるので、それをSystem.Console.WriteLineで出力・・・。
xに5を入力すると、
x: 5 y = 0 続行するには何かキーを押してください . . .
xが0ではないので、除算が実行される・・・。
本来、0.2なのだが、整数同士の除算なので0となる・・・。
x: 0 e.ToString() = System.DivideByZeroException: 0 で除算しようとしました。 場所 MainClass.Main() 場所 C:\Project\Cloud\github.com\Sample\cs\Exception\Exception\src\Exception\Exception\MainClass.cs:行 17 続行するには何かキーを押してください . . .
xが0なら、0の除算が行われるので、例外処理catchブロックが実行される・・・。
eに格納されている実際のインスタンスはSystem.DivideByZeroException・・・。
0で除算しようとしたことがわかる・・・。
さらにはプログラム上の起きた場所まで出力される・・・。