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不会单独使用,一般来讲用户都避免异常的产生,所以不会手工抛出一个异常的。