黑马程序员技术交流社区
标题:
异常问题?
[打印本页]
作者:
黄湘怡
时间:
2011-11-8 04:34
标题:
异常问题?
throws 与 try catch 的区别是什么?
作者:
王赫麟
时间:
2011-11-8 08:12
try catch 是考虑到try包含这段代码可能会遇到这种异常,直接用catch捕获处理,catch包含的代码为处理代码
throws是直接把异常抛出去,如果上层代码有处理,就交给上层代码处理
两种方式:
try
{
//可能会出现的异常代码
}
catch(Exception e)
{
//如果代码出现异常就执行这些代码
}
public void getXXX() throws Exception //如果出现异常,把异常提交给java虚拟机,让java虚拟机自动处理
{
有异常的代码
}
作者:
高双武
时间:
2011-11-8 08:22
在try{}中的函数在声明时如果throw了一个异常,我们在try{}中调用该函数的时候,必须用catch{}语句捕获异常,或者继续throw异常,不去解决调用函数抛出的异常
作者:
SilenceSea
时间:
2011-11-8 08:28
throws如果发生了对应的错误后,下边的的确不会被执行;
try catch的理解应该辩证点看:如果catch后没有再次throw出去,那会继续执行;要想不执行必须throw处理
throws 抛出异常,解决不了再向上,直道碰到能解决这个异常的处理程序,就好像你的上司让你执行一项任务,中途你遇到问题不知道如何解决,你把问题返还给你的上司,认为既然是T分配的任务就该知道如何解决这个问题,你的上司无法解决同样把它送给经理解决,依次向上,直到有人能解决这个问题为止(不想自己另外写代码处理异常时非常有用)
try catch 则是考虑到try包含这段代码可能会遇到这种异常,直接用catch捕获处理,catch包含的代码为处理代码
throws 只是把一个异常抛出去了,如果你的上层代码有处理方式,就由上层代码来处理这个异常。
而try/catch对是清楚的知道该操作可能出现什么异常,同时在catch块中应该有处理的方法。
而且还有一种方式就是try/catch/finaly的方式。
Throws是把异常返回给调用者,由调用者处理,调用者还是要try/catch,跑不掉的
catch中就一个简单的SYSTEM.OUT.PRINTLN(…………);还有,连接数据库时会连接不上,你也不知道是驱动问题、电脑问题还是网络问题,发给用户,用户也看不懂,所以统统throws给catch,提示请与管理员联系。。。。。。这就简单多了
throws 写在方法签名后,
throw 写在方法体内,可以写在if()....
也可以catch住一个exception后立刻又把他throw 出去,什么处理也不做,还可以catch住后throw new 一个你自己定义的exception ....
throws 就是把异常抛出,但是在以后要不有个catch接受,要不就抛给主函数.就是逐级往上一级抛,直到有一个接受他的
作者:
张翼
时间:
2011-11-8 09:55
throw 的作用是抛出异常, 作用于方法,而try的作用是寻找可能存在的异常,应用于表达式,一旦找到将被catcH执行。
作者:
黄湘怡
时间:
2011-11-8 23:22
恩,我明白了,try是语句中包含可能会产生的异常的语句,catch是用来捕获并处理try中抛出的异常的代码。
而throw是用来从代码中主动抛出异常~!
作者:
刘福双
时间:
2011-11-8 23:26
throws捕捉异常直接抛出 try{}里出现的错误在cath捕捉并且执行cath块里的代码
作者:
肖瑞军
时间:
2011-11-8 23:45
throws 抛出异常,解决不了再向上直道碰到能解决这个异常的处理程序,就好像你的上司让你执行一项任务,中途你遇到问题不知道如何解决,你把问题返还给你的上司,认为既然是她分配的任务就该知道如何解决这个问题,你的上司无法解决同样把它送给经理解决,依次向上,直到有人能解决这个问题为止。(不想自己另外写代码处理异常时非常有用)
try catch 则是考虑到try包含这段代码可能会遇到这种异常,直接用catch捕获处理,catch包含的代码为处理代码!
作者:
七分饱
时间:
2011-11-8 23:56
throws直接,try catch预防;
学习中……
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2