フローがキャッチブロックに到達しない理由について混乱しています。例外が発生するとメソッドが呼び出されることは理解していますが、が呼び出されOnError
たときに例外が発生するべきではありませんToObservable
か?3番目の数値(0)を処理する場合にのみ、例外が発生します。私は完全に混乱しています。
static void Main()
{
try
{
var numbers = from number in
new int[] { 1, 2, 0, 3 }
select 10 / number;
var observable = numbers.ToObservable();
observable.Subscribe(OnNext, OnError, OnComplete);
Console.ReadKey();
}
catch (Exception exc)
{
Console.WriteLine("Program terminated with the following message - {0}", exc.Message);
}
}
private static void OnNext(int i)
{
Console.WriteLine("Output : " + i);
}
private static void OnError(Exception exc)
{
Console.WriteLine("In oops : {0}", exc.Message);
}
private static void OnComplete()
{
Console.WriteLine("In done");
}