问答题
对上题再进行改进,使输入文件名和读文件内容的两类异常都能处理。请在横线处填上适当的子句,使其能捕获异常并正确执行。
import java.io.*;
public class BException{
public static void main(String[]args){ //获得文件名
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Filename:");
String s=null;
try{
s=stdin.readLine();
}catch(OIException e){
System.err.println("Cannot read input");
System.exit(0);
}
BufferedReader filein=null; //为处理组织文件流
try{
Filein=new BufferedReader(new FileReader(s));
} catch(FileNotFoundException e){
System.err.println(s+":cannot be opened for reading");
System.exit(0);
}
try{
int numerator=Integer.parseInt(filein.readLine()); //提取值和计算商
int denominator=Integer.parseInt(filein.readLine());
int quotient=numerator/denominator;
System.out.println();
System.out.println(numerator+"/"+denominator+"="+quotient);
}______{
System.err.println(s+":unable to read values");
System.exit(0);
}
return;
}
}
【正确答案】填入catch(IOException e)
【答案解析】