I assume the idea is for a failing observer not to cause following observers to be skipped, and the explicitly thrown exception is a
test. In which case, put a try/catch block around the code that notifies the individual observers.
I'd question whether it's a great idea, though. Any NullPointerException should be a bug, and the best way to handle it is to fix it!