黑马程序员技术交流社区

标题: 异常处理的原则是啥,catch和throws都什么时候用 [打印本页]

作者: 刘印12    时间: 2013-3-26 14:17
标题: 异常处理的原则是啥,catch和throws都什么时候用
异常处理的原则是啥,catch和throws都什么时候用,求解:victory:
作者: 王瑞    时间: 2013-3-26 14:28
看视频整理的笔记,你看一下~~~~~

异常:就是程序在运行时出现不正常情况。
异常由来:问题也是现实生活中一个具体的事物,也可以通过java的类的形式进行描述。并封装成对象。
                        其实就是java对不正常情况进行描述后的对象体现。

对于问题的划分:两种:一种是严重的问题,一种非严重的问题。

对于严重的,java通过Error类进行描述。
        对于Error一般不编写针对性的代码对其进行处理。

对与非严重的,java通过Exception类进行描述。
        对于Exception可以使用针对性的处理方式进行处理。

无论Error或者Exception都具有一些共性内容。
比如:不正常情况的信息,引发原因等。
作者: 王瑞    时间: 2013-3-26 14:28
2,异常的处理

java 提供了特有的语句进行处理。
try
{
        需要被检测的代码;
}
catch(异常类 变量)
{
        处理异常的代码;(处理方式)
}
finally
{
        一定会执行的语句;
}


3,对捕获到的异常对象进行常见方法操作。
        String getMessage():获取异常信息。


在函数上声明异常。
便于提高安全性,让调用出进行处理。不处理编译失败。



对多异常的处理。

1,声明异常时,建议声明更为具体的异常。这样处理的可以更具体。
2,对方声明几个异常,就对应有几个catch块。不要定义多余的catch块。
        如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面。


建立在进行catch处理时,catch中一定要定义具体处理方式。
不要简单定义一句 e.printStackTrace(),
也不要简单的就书写一条输出语句。
作者: 黄杨    时间: 2013-3-26 14:31
老毕的视频里面不是说过吗,等我们什么时候做老师了就可以不用try。。。catch抛异常了,就直接用throws抛异常了
作者: 壁虎    时间: 2013-3-26 14:42
当一个方法中,有代码会报错,你这时要考虑的就是,此问题是否能在此方法中解决。如果不能,就用throws 在方法上声明一下,告诉此方法的调用者,调用这个方法有异常,需要try---catch捕获异常并处理..如果此调用者也不能处理此异常,则又在方法上声明异常,又去交给上一级的调用者。一层连着一层。
作者: 123    时间: 2013-3-26 14:50
异常的处理:
1,如果抛出的是throw RuntimeException(),那么这个方法不需要显示throws异常,调用这个异常方法的方法也不需要处理,因为RuntimeException()异常就是希望程序能停下来,不继续往下执行了。
2,如果抛出的不是RuntimeException异常,就需要在方法上显示抛出throws异常,调用这个异常方法的方法就需要try catch,或者这个方法继续throws,如果都把这个异常throws,那么最追会抛给jvm处理。
作者: 刘印12    时间: 2013-3-26 14:56
恩谢谢,现在清晰了许多
作者: 高顺德    时间: 2013-3-26 16:08
catch 是对异常处理,而throws是方法签名后声明使用该方法要处理的一些异常




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