final模块总是执行的,必须有抛出才能追寻到祖先模块
详细参看http://www.csdn.net/expert/topicview1.asp