java学习——44、方法抛出的异常
方法声明抛出异常的throws子句
如果一个方法产生异常,而该方法不想处理或不能处理该异常,则可以在方法声明时,采用throws子句声明该方法将抛出异常。
带有throws子句的方法声明的语法格式如下:
【修饰符】返回值类型 方法(【参数列表】) 【throws 异常类列表】
例:
public void div(int a,int b)throws Exception//注,方法抛出关键字为throws
{
if(a==0)
throw new Exception(“除数为0”);//注,此处抛出关键字为throw
}
如果一个方法抛出了异常,那么调用此方法的其他所有方法均要抛出异常。
例:
若调用上述div方法
public voidshow() throws Exception{//注,此方法因调用了div方法,故也需抛出异常
div(a,b);
}
具体使用例子如下:
public class li {
public void div(int a,int b)throws Exception//注,方法抛出关键字为throws
{
if(a==0)
throw new Exception("除数为0");//注,此处抛出异常,由catch子句捕获
else
System.out.println(b/a);
}
public void show() throws Exception{//注,此方法因调用了div方法,故也需抛出异常
int x=2,y=10;
div(x,y);
}
public void show2() throws Exception{//注,此方法因调用了div方法,故也需抛出异常
int x=0,y=2;
div(x,y);
}
public static void main(String args[]){
li l=new li();
try{
l.show();
}
catch(Exception e)
{
}
try{
l.show2();
}
catch(Exception e)
{ if(e.toString().equals("java.lang.Exception: 除数为0"))
System.out.println("除数为0,不能相除");
}
}
}
因为show()方法中,x为2,y为10,10除以2的结果为5,无异常,故输出5.
在show2()方法中,因为x为0,产生了异常,故执行catch子句。
其运行结果如下:
5
除数为0,不能相除