黑马程序员技术交流社区
标题:
异常问题
[打印本页]
作者:
周洋
时间:
2012-3-24 17:00
标题:
异常问题
“如果catch块中除throw 异常外没有任何处理,则不应该写该try/catch块。”是什么意思?
作者:
鲍亚坤
时间:
2012-3-24 17:28
“如果catch块中除throw 异常外没有任何处理,则不应该写该try/catch块。”主要还是说,如果你捕获了一场,一定要在catch块里面做一些操作,否则没有意义!这个是try/catch需要注意的地方(很多人都不在意这些的,没有好的习惯,catch块里什么都不写!!!
作者:
田斌
时间:
2012-3-24 17:37
需要看看是什么异常,有的异常你不处理直接抛给虚拟机,但是虚拟机又 处理不了就会报错,所以自己捕获了异常就应该处理一下
作者:
刘元霄
时间:
2012-3-24 17:46
“如果catch块中除throw 异常外没有任何处理,则不应该写该try/catch块。”是什么意思?
如果是一个方法在catch 直接throw 就是 将异常抛给了调用这个方法的函数, 让能处理的 处理。
如果主函数也抛的话 就没有办法处理的异常 交给虚拟机处理了。
异常时为了对象更安全。
作者:
许飞翔
时间:
2012-3-24 17:47
我是这样理解的,意思是说如果你抛出异常了,然后
try
{
}
catch(Exeception e)
{
}
而在catch快里面没有做任何处理,那try/catch写出来没有意义,因为不做处理,
不知道到底哪里有问题
作者:
黄奇耀
时间:
2012-3-24 17:54
catch语句中除了抛出异常外没有任何处理,就不应该写try{}catch(){}语句。为什么这样说呢?
因为既然没有异常处理,则不必要让代码冗余;而.try/catch代码造成的负担比普通代码要高,运行效率也比较低。一般把情况写到logger里面,好让我们知道错在哪里。
作者:
江远云
时间:
2012-3-24 21:43
本帖最后由 江远云 于 2012-3-24 21:44 编辑
“如果catch块中除throw 异常外没有任何处理,则不应该写该try/catch块。”是什么意思
意思是说如果catch块里只有异常类型声明//圆括号里的语句,没有异常处理的代码//大括号里的语句,那样就
不知道哪里发生异常
,可以说是废话。这样就没有意义,尽量在catch块里面打印一些语句,提示究竟是哪里发生了什么异常。
这是没有异常处理的代码
"try{
}catch(Exception e){}
这是有异常处理的代码
"
"try{
}catch(Exception e)
{System.out.println“复活币用光了,请拿钱来”}//这样,如果哪个地方出了问题,一看就知道是哪里出了错误
作者:
李柯
时间:
2012-3-24 22:03
异常处理的基本格式:try{ 需要被检测的代码; } catch(异常类 变量) { 处理异常的代码;} finally { 一定会执行的语句;}
如果在catch中没有进行任何处理而又将其抛出,那么就没有必要try catch了;而如果是进行了处理而又抛出了另一种异常这时可以的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2