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,不能相除

(0)

相关推荐