Пример #1
0
        public void CreateAndRaise4()
        {
            Pub4 p = new Pub4();

            p.OnChange += (sender, e) => Console.WriteLine("Subscriber 1 called");
            p.OnChange += (sender, e) => { throw new Exception(); };
            p.OnChange += (sender, e) => Console.WriteLine("Subscriber 3 called");  // This subscriber is never called, since exception thrown for previous sender.

            p.Raise();
        }
Пример #2
0
        private void EventsWithExceptions()
        {
            Console.WriteLine("Events in which subscriber raises an exception");
            Pub4 pub = new Pub4();

            pub.OnChange += (sender, e) => Console.WriteLine("Subscriber 1 is called");
            pub.OnChange += (sender, e) => { throw new Exception(); };
            pub.OnChange += (sender, e) => Console.WriteLine("Subscriber 2 is called");
            pub.Raise();
            Console.WriteLine("Once the exception is riased by the subscriber none of the remaining handlers are called");
        }
Пример #3
0
 private void EventsWithExceptions()
 {
     Console.WriteLine("Events in which subscriber raises an exception");
     Pub4 pub = new Pub4();
     pub.OnChange += (sender, e) => Console.WriteLine("Subscriber 1 is called");
     pub.OnChange += (sender, e) => { throw new Exception(); };
     pub.OnChange += (sender, e) => Console.WriteLine("Subscriber 2 is called");
     pub.Raise();
     Console.WriteLine("Once the exception is riased by the subscriber none of the remaining handlers are called");
 }