throws是声明方法时抛出可能出现的异常,但不能捕获异常,也就是说并不直接处理异常,而是把它向上传递。其格式如下:
方法声明 throws 异常类名列表
若一个方法声明抛出异常,则表示该方法可能会抛出所声明的那些异常,从而要求方法的调用者在程序中对这些异常进行处理。throws一次可以抛出多个异常,多个异常类名用逗号分割。
package com.expection;
import java.io.BufferedReader;
import java.io.IOExpection;
import java.io.InputStreamReader;
public class Test3{
public static void main(String []args)throws IOExpection{
BufferedReader objBR=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入字符:");
String str=objBR.readLine();
System.out.println("这个字符是:"+str);
}
}
在该程序中,objBR.readLine();方法会抛出IOExpection异常,而程序中没有用try-catch-finally语句进行捕获处理,所以必须在main()主方法的头部加上throws IOExpection,表示对于该异常程序不处理,交由上层调用者进行处理。