throws与throw

1.throws关键字

在定义一个方法时可以使用thows关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理,throws使用格式如下:

【throws使用格式】

public  返回值类型  方法名称(参数列表...)throws 异常类{}

范例:使用throws关键字

 

class Math{

   public int  div(int i,int j)throws Exception{//方法可以不处理异常
               int  temp=i/j;
               return  temp;
              }

}

  因为出发操作有可能出现异常,也有可能没有异常,所以在上面的代码的div()方法中使用了throws关键字,表示不管是否有异常,在调用此方法处都必须进行异常处理,代码如下:

范例:处理异常

  

package test2;

class Math {
	public int div(int i, int j) throws Exception {
		int temp = i / j;
		return temp;
	}
}

public class ThrowsDemo01 {
	public static void main(String[] args) {
		Math m = new Math();
		try {
			System.out.println("除法操作:" + m.div(60, 90));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

  

package test2;

class Math {
	public int div(int i, int j) throws Exception {
		int temp = i / j;
		return temp;
	}
}

public class ThrowsDemo01 {
	public static void main(String[] args)throws Exception{
		Math m = new Math();
		try {
			System.out.println("除法操作:" + m.div(60, -50));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

  

package test2;

class Math {
	public int div(int i, int j) throws Exception {
		int temp = i / j;
		return temp;
	}
}

public class ThrowsDemo01 {
	public static void main(String[] args){
		Math m = new Math();
		try {
			throw new Exception("自己抛出一个异常");
//			System.out.println("除法操作:" + m.div(60, -50));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

  结果:

java.lang.Exception: 自己抛出一个异常
at test2.ThrowsDemo01.main(ThrowsDemo01.java:14)

throw不会单独使用,一般来讲用户都避免异常的产生,所以不会手工抛出一个异常的。

 

 

posted on 2011-12-08 10:02  wangbokun  阅读(548)  评论(0编辑  收藏  举报

导航