I don't know why notifyObservers would ever throw; but if it does, the default exception handler will catch and report it, so there's no reason to do so ourselves. The same is true for the other try/catch blocks.