在java中允许在方法的后面用throws关键字对外声明该方法有可能发生的异常,这样调用者在调用方法时,就明确的知道该方法有异常,并且必须在程序中队异常进行处理,否则编译无法通过。
throws关键字声明抛出异常格式:
方法 throws 异常类型{ }
例子:
class Example
{
public static void main(String[] args)
{
int result=divide(4,0);
System.out.print(result);
}
public static int divide(int x,int y)throws Exception{
int result=x/y;
return result;
}
}
运行结果:
由于声明抛出了异常,调用者在使用时就必须对其进行处理,否则就会发生
编译错误
对异常进行处理的两种方法:
1.try...catch
class Example
{
public static void main(String[] args)
{
try{
int result=divide(4,0);
System.out.print(result);
}catch(Exception e){
e.printStackTrace(); //打印捕获的异常信息
}
}
public static int divide(int x,int y)throws Exception{
int result=x/y;
return result;
}
}
2.如果不知道如何处理声明抛出的异常,也可以使用throws关键字
继续将异常抛出,这样程序也能
编译通过,但需要注意的是,程序一旦发生了异常,如果
没有被处理,程序就会
非正常终止。
class Example
{
public static void main(String[] args)
throws Exception
{
int result=divide(4,0);
System.out.print(result);
}
public static int divide(int x,int y)
throws Exception{
int result=x/y;
return result;
}
}
以上两种方法的结果都是: