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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

异常处理的原则是啥,catch和throws都什么时候用,求解:victory:

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-26 18:59

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

7 个回复

倒序浏览
看视频整理的笔记,你看一下~~~~~

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

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

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

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

无论Error或者Exception都具有一些共性内容。
比如:不正常情况的信息,引发原因等。
回复 使用道具 举报
2,异常的处理

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


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


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



对多异常的处理。

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


建立在进行catch处理时,catch中一定要定义具体处理方式。
不要简单定义一句 e.printStackTrace(),
也不要简单的就书写一条输出语句。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
老毕的视频里面不是说过吗,等我们什么时候做老师了就可以不用try。。。catch抛异常了,就直接用throws抛异常了
回复 使用道具 举报
当一个方法中,有代码会报错,你这时要考虑的就是,此问题是否能在此方法中解决。如果不能,就用throws 在方法上声明一下,告诉此方法的调用者,调用这个方法有异常,需要try---catch捕获异常并处理..如果此调用者也不能处理此异常,则又在方法上声明异常,又去交给上一级的调用者。一层连着一层。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
异常的处理:
1,如果抛出的是throw RuntimeException(),那么这个方法不需要显示throws异常,调用这个异常方法的方法也不需要处理,因为RuntimeException()异常就是希望程序能停下来,不继续往下执行了。
2,如果抛出的不是RuntimeException异常,就需要在方法上显示抛出throws异常,调用这个异常方法的方法就需要try catch,或者这个方法继续throws,如果都把这个异常throws,那么最追会抛给jvm处理。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
恩谢谢,现在清晰了许多
回复 使用道具 举报
catch 是对异常处理,而throws是方法签名后声明使用该方法要处理的一些异常
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马