使用Notification代替Assertion和Exception的方法--
http://martinfowler.com/articles/replaceThrowWithNotification.html