黑马程序员技术交流社区

标题: 异常能不能在程序中用代码完善后不出现后不出现异常。 [打印本页]

作者: Aimer_WJY    时间: 2014-3-9 10:55
标题: 异常能不能在程序中用代码完善后不出现后不出现异常。
毕老师讲的异常中,整数除以零的异常,如果加条if语句判断是不是就不会有异常。这样做和抛出异常有什么优劣势。
作者: .......    时间: 2014-3-9 12:20
异常处理最根本的优势就是检测错误(由被调用的方法完成)从处理错误(由调用方法完成)中分离出来。这样,可以使程序更易读懂和修改。但是,应该注意,由于异常处理需要初始化新的异常对象,需要从调用栈中返回,而且还需要沿着方法调用链来传播异常以便找到它的异常处理器,所以,异常处理通常需要更多的时间和资源。
当必须处理不可预料的错误状况时才应该使用它,不要用try-catch处理简单的,可预料的情况。
不管怎么样,一定呀把握住,不要把异常处理用做简单的逻辑测试
作者: Sage    时间: 2014-3-9 12:52
1.逻辑判断代码:需要一一罗列条件,会使代码量急剧增加,并且所判断的条件都是我们能识别和分析,且都是可控的,但是会耗费很多时间精力;
2.异常处理代码:是一种体系,或者说提供给开发者的一种解决方案,其中可抛出的主要分为error和exception两大类;
3.error是针对重大问题,通常不需要编写代码对其处理;
4.exception是主要针对编译运行时出现的状况,可以通过try-catch-finally来处理;
5.异常处理在实际开发中是比较有优势的,高效且处理较为精确,便于调试维护程序。
作者: 黑马晓志    时间: 2014-3-9 15:13
本帖最后由 黑马晓志 于 2014-3-9 15:15 编辑

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2