异常与if判断语句的区别和用途? 各位,异常的用处多数都可以用if语句来判断,甚至可以替代,那么异常到底在程序中体现的优势在哪里呢?什么时候用异常什么时候用if语句呢?希望举例说明。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 异常可以集中处理错误。可以在finaly节中释放资源。 if...else...结构在理论上确实可以代替异常机制, 至少C里面就没有异常机制.异常其实也是模块化程序和面向对象思想的体现. 可以将烦允的错误处理从程序代码中分离出来, 从而使得你可以集中地在一个地方去做你想要做的事情, 而在另一个地方去做所有的错误处理工作. 这些在<Thinking in JAVA>第9章中说得很清楚了. 楼主不妨去看看. 异常中最重要的的概念就是“抛出”,了解异常,就需要了解“一般问题”和“异常状态”之间细微的区别;一般问题是指当时的上下文具有足够的信息,得以通过某中方式解决问题。但在异常状态,当时的上下文并不拥有处理问题所需的信息,所以无法继续执行下去。你只能逃脱当时的上下文,将问题移交给更高层的上下文来处理;这正式异常抛出时发生的事。举个例子,除法;a 为分子,b为分母;普通写法 ,实现一个除法的函数,返回为一个String数组,可能你在该函数里可以预先想到分母为零的处理,如下:String[] result = new String[2];if (b ==0){ result[0]="分母为零!错误!"; result[1]=""; return result;}........在用到这个函数的时候可能还要分析,如果result[0]怎么怎么样,是错误,,,,这样搞起来,调用的次数越多,系统越做大,越不稳定,搞的人头痛。但是如果你使用异常: if (b==0) throw new MyException();在使用的时候只需要通过try{}catch(MyException e){}捕获就可以了!集中处理错误!程序变得易读还有一个很好的就是异常可以使用finally,呵呵,不管怎么样,都释放资源! 用if如果一个NullPointerException, 就可能使你的程序直接停掉try/catch可以让你在catch段合理的处理异常, 然后使得系统继续运转下去 求大神确认一下,有这回事吗? Java初学者 java 一个类调用另一个类(想把JFrameTest6.java和JFrameTest7,java这两个类分开,写成两个文件的形式) jni调用dll的数据类型jstring问题 用到hibernate的程序,是不是不能简单的用javac,java来编译运行? 怎么清除绘制的图片 问个菜鸟问题 java c/s 模式里面,哪里可以找到时间控件? 高分求一答案,问题简单,解决即结贴给分!关于JAVA初级读入文件的分析,各位大侠请进!急,在线等~!谢谢 如何将Exception的内容全部写进log文? 急求﹗﹗關於流讀取的問題。 请教...?
可以在finaly节中释放资源。
举个例子,除法;a 为分子,b为分母;
普通写法 ,实现一个除法的函数,返回为一个String数组,可能你在该函数里可以预先想到分母为零的处理,如下:
String[] result = new String[2];
if (b ==0){
result[0]="分母为零!错误!";
result[1]="";
return result;
}
....
....在用到这个函数的时候可能还要分析,如果result[0]怎么怎么样,是错误,,,,
这样搞起来,调用的次数越多,系统越做大,越不稳定,搞的人头痛。但是如果你使用异常:
if (b==0)
throw new MyException();在使用的时候只需要通过try{}catch(MyException e){}捕获就可以了!集中处理错误!程序变得易读
还有一个很好的就是异常可以使用finally,呵呵,不管怎么样,都释放资源!
try/catch可以让你在catch段合理的处理异常, 然后使得系统继续运转下去