Create and implement events and callbacks

You are using a multicast delegate with multiple subscribers. You want to make sure that all subscribers are notified, even if an exception is thrown. What do you do?

Nothing. This is the default behavior.
Let subscribers return true or false instead of throwing an exception.
Manually raise the events by using GetInvocationList.
Wrap the raising of the event in a try/catch.