日期:2014-05-17  浏览次数:20798 次

有时候,捕获异常后,为什么要重新引发他们呢?
在看<<C#本质论>>第三版, 307页,第十章,里面写道,面对像System.OutOfMemoryException这样的异常,相应的Catch块,只应运行清理或紧急代码,然后马上关闭应用程序或者使用throw ;语句重新引发异常.


我的疑问是既然都捕获了,为什么不处理,还要重新引发异常呢?

------解决方案--------------------
System.OutOfMemoryException
这样的异常已经使你的程序没法再正常运行下去了。
捕获到这个异常。处理一下。比如弹出。“程序遇到严重异常,将自动关闭”之类的。
抛出这样的异常应该是指控件级。
如果是你自己定义的控件出现了这样的异常。弹出个友好的提示。然后继续抛出异常。