throws说明你有哪个可能,倾向
throw的话,那就是你把那个倾向变成真实的了
同时:
1)throws出现在方法函数头;而throw出现在函数体;
2)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常;
3)两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。作者: 崔利鹏 时间: 2012-11-16 18:44
1.throws 用于抛出方法层次的异常,并且直接由些方法调用异常处理类来处理该异常,所以它常用在方法的后面。像主函数这个 public static void main(String[] args) throws IOException
2.throw 用于方法块里面的代码,比throws的层次要低,比如try...catch ....语句块,表示它抛出异常,但它不会处理它,而是由方法块的throws Exception来调用异常处理类来处理。例如:try{
}catch(Exception e){
}作者: 陈龙 时间: 2012-11-16 20:58
1.throws,在定义一个方法时可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理,比如
class Math
{
public int div(int i,int j) throws Exception //本方法中不处理异常
{
int temp = i / j; //此处有可能产生异常
retrun temp;
}
}
public class ThrowDemo
{
public static void main(String args[])
{
Math m = new Math();
try //因为有throws,不管是否有异常,都必需处理
{
System.out.println(m.div(10,2));
}
catch(Exception e) //如果有异常,在此处捕捉
{
System.out.println(e); //打印异常
}
}
}
2.throw,可以直接使用throw抛出一个异常,比如
public class ThrowDemo
{
public static void main(String args[])
{
try
{
throw new Exception("抛出自己的异常"); //自己抛出异常
}
catch(Exception e)
{
System.out.println(e); //打印异常
}
}
}作者: 郑丹丹 时间: 2012-11-16 21:23
throws和throw的区别:
1、throws使用在函数上,throw使用在函数内。
2、throws后面跟的异常类可以是多个,异常类之间用逗号隔开;
throw后跟的是异常对象。