站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题关于错误处理?

关于错误处理?

摘要: 关于错误处理?


小弟初学JAVA,学到了 错误处理这儿了,可是现在看到这不太懂了,请各位,帮忙给讲解一下!

有个throws,在try..catch块中,调用一个函数,函数后面要加上这个,声明可能要引发的异常

我想问的是这样和不加有什么区别,在这样的方法中有throw抛出异常,可为什么还要用到throws呢

我理解的是: 即使程序引发了 异常,还是会执行函数后的其它语句,对吗???

因为,上机时间有限,只好先来者问一下了,望各位指点一下,谢谢!


如果用throws,就可以不用try...catch,但是这样做不好!
应该尽量用try...catch 不用throws!
抛出异常后就不会在执行后面的语句了!



throws是异常说明的关键字,它用来说明某个方法可能会抛出的异常,有两个作用:
1.发布程序库的时候,如果没有和源代码一起发布,那么客户程序员可以通过查看方法的声明就可以知道该方法会抛出哪些异常
2.方法的代码如果出现了异常,有两种办法,一是在异常说明中说明,二是处理这个异常


up


举个例子吧,
class MyException implements Throwable(){...}

void f1() throws MyException{//函数可能会抛出异常
...
if(wrong)
throw new MyException();//抛出异常对象
}

void f2() throws MyException{//因没有catch f1()抛出的异常,所以f2也可能抛出f1所抛出的异常
f1();
doother();//其他代码,当f1()发生异常后,此句不会执行
}

void f3(){//因用了tray。。。catch。。所以不会抛出异常
try{
f1();
}catch(MyException e){
handle(e);//处理e,发生异常时执行
}finally{
doother();//finally中的代码始终会被执行,无论之前发生了什么
}
}



致:::guileen(松风抚琴) (


void f3(){//因用了tray。。。catch。。所以不会抛出异常
============================================================
你说的抛出异常,和catch执行的 异常有什么区别么

catch补也是捕获异常用的吗



直接throw的话方法就直接结束了,如果用try。。catch的话方法可以继续执行,在catch中处理它


明白了
谢谢各位!


↑返回目录
前一篇: java新手,有一问题搞不定,晕啊!
后一篇: 一个mysql的基本问题,请指点,谢谢!