黑马程序员技术交流社区
标题:
异常
[打印本页]
作者:
赵鹏程
时间:
2012-7-25 20:21
标题:
异常
异常的作用是什么?在代码中是如何捕获/处理异常的?在“catch (ex)”中,“throw”和“throw ex”有什么区别?
作者:
陈云帆
时间:
2012-7-25 23:52
1、作用:异常用于处理系统级或者应用程序级的错误状态,异常处理是一种结构
化的处理过程,其实就是处理错误代码或者思路,捕捉异常,让程序员修改代码。
2、捕捉异常:
根据经验或者规定,在可能出现异常的地方使用try catch捕捉异常。
3、throw和throw ex区别:
throw 重新抛出异常但是不破坏异常发生的调用栈尔“throw ex”会重置调用栈这
样捕获异常的人会以为代码出错在这里。
作者:
许庭洲
时间:
2012-7-26 11:00
1, 异常就是程序在运行过程中由于硬件设备问题,软件设计错误,缺陷等导致的程序错误。
2,
catch (Exception ex)
{
throw ex; //报出有错误 ,并程序自动抛出异常
}
3,
catch (Exception ex)
{
throw;//没有报出有错误 ,程序不会自动抛出异常
}
作者:
吴立杰
时间:
2012-7-26 12:01
异常体系:
|--Throwable
|--Exception <程序本身可以处理的异常>
|--RuntimeException
<这些异常是不检查异常,程序中可以选择
捕获,也可以不处理,这些异常一般
是由于程序逻辑错误引起的,程序应该从
逻辑角度尽可能避免该类异常的发生>
|--非运行时异常
<这些异常为程序语法的异常,为必须处理异常
,如果不处理,程序就不能编译通过
如:IOException以及用户自定义的异常,但
一般情况下步自定义检查异常>
|--Erro <程序无法处理的错误
这种错误发生时,jvm一般会选择线程终止
程序无法运行下去>
什么是异常?异常就是程序运行过程中出现的错误。
java的异常处理框架是java语言健壮性的一个重要体现。java将异常
看做对象来处理,就有了上面的异常体系
异常的捕获和处理:
格式:
try{
//(尝试运行的)程序代码;
}catch(异常类型的变量名){
//异常处理代码;
}finally{
//异常发生,方法返回之前,总要执行的代码;
}
throw throws关键字
throw关键字是用于方法体内部,用来抛出一个throwable类型的异常。如果
抛出了非运行时异常,则应该在方法头部声明方法可能抛出异常类型。
该方法的调用者也必须检查吹来抛出的异常。
如果所有方法都层层上抛获取的异常,最终jvm会进行默认处理,就是打印
异常信息和堆栈信息。
如果抛出的是RuntimeException,可以不用在方法的头部声明
throws关键字是由于方法体外部的声明部分,用来声明方法可能会抛出某些异常。
异常处理的应用:
对于一个应用系统来说,以后我们都应该会有自己的一套异常处理框架,这样当
异常发生时,也能得到同意的处理风格,将漂亮的异常信息反馈给用户。
老师说以后会经常用到RuntimeException,应为客户只知道运行异常,其他的异常
他们不会明白的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2