A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

毕老师讲的异常中,整数除以零的异常,如果加条if语句判断是不是就不会有异常。这样做和抛出异常有什么优劣势。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

3 个回复

正序浏览
本帖最后由 黑马晓志 于 2014-3-9 15:15 编辑

有的异常是代码的问题,可以你的代码逻辑出错,这样的异常可以避免。但是有的异常是别的问题。比如TCP服务器和客户端,首先建立连接,然后开始通信,但是服务器端因为某种原因比如断电失去联系,那么客户端就会抛出异常,这种异常是我们用代码无法避免的。所以要用try catch处理块来抛出这样的异常。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
1.逻辑判断代码:需要一一罗列条件,会使代码量急剧增加,并且所判断的条件都是我们能识别和分析,且都是可控的,但是会耗费很多时间精力;
2.异常处理代码:是一种体系,或者说提供给开发者的一种解决方案,其中可抛出的主要分为error和exception两大类;
3.error是针对重大问题,通常不需要编写代码对其处理;
4.exception是主要针对编译运行时出现的状况,可以通过try-catch-finally来处理;
5.异常处理在实际开发中是比较有优势的,高效且处理较为精确,便于调试维护程序。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
异常处理最根本的优势就是检测错误(由被调用的方法完成)从处理错误(由调用方法完成)中分离出来。这样,可以使程序更易读懂和修改。但是,应该注意,由于异常处理需要初始化新的异常对象,需要从调用栈中返回,而且还需要沿着方法调用链来传播异常以便找到它的异常处理器,所以,异常处理通常需要更多的时间和资源。
当必须处理不可预料的错误状况时才应该使用它,不要用try-catch处理简单的,可预料的情况。
不管怎么样,一定呀把握住,不要把异常处理用做简单的逻辑测试

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马