首页 新闻 会员 周边

为什么不提倡catch(Exception)?

0
悬赏园豆:5 [已关闭问题]
为什么不提倡catch(Exception)?
jerreychen的主页 jerreychen | 初学一级 | 园豆:185
提问于:2008-05-21 15:19
< >
分享
其他回答(4)
0
Exception 类包含许多子类 程序执行的时候要将每一个类都搜索一遍 以找到符合的异常类 这样是蛮消耗资源的 影响效率
yeyang | 园豆:418 (菜鸟二级) | 2008-05-21 16:42
0
建议的做法: catch (OutOfMemoryException exception3) { this._activeConnection.Abort(exception3); throw; } catch (StackOverflowException exception2) { this._activeConnection.Abort(exception2); throw; } catch (ThreadAbortException exception) { this._activeConnection.Abort(exception); throw; } 对捕获的异常,进行处理时捕获才有意义,否则就没有必要写catch块,让程序把异常抛出去才是正确的做法。
玉开 | 园豆:8822 (大侠五级) | 2008-05-21 17:55
0
因为出错的时候,不容易发现到底是哪一行出错了。
金色海洋(jyk) | 园豆:290 (菜鸟二级) | 2008-05-25 06:47
0
应该说 异常处理是一个渐进的处理 如果一级无法处理,就会返回到上一级 还有是,如果发生了异常,一般会尝试修复, 这样,你必须知道发生了什么错误,然后再修复错误 如果直接捕获,你将无法知道具体是什么错误 另外,如果使用Try,JIS 就不会启动优化,
G yc {Son of VB.NET} | 园豆:2006 (老鸟四级) | 2008-05-25 13:48
1
自己理解:只捕捉特定环境,特定条件下的异常,并进行处理。不应该捕捉所有异常,因为有些异常是我们所无法预料到的,比如,内存溢出或其他错误,这种情况下,不应该让系统以一种未知状态继续运行。
Shapley | 园豆:55 (初学一级) | 2008-06-05 07:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册