请阅读下面程序 import java.io.*; public class ExceptionCatch { public static void main(String args[]) { try{ FilelnputStream fis=new FilelnputStream("text"); System.out.println("content of text is:"); } catch(FileNotFoundException e) { System.out.println(e); System.out.println("message:"+e.getMessageO); e.printStackTrace(System.out); }____{ System.out.println(e); } } } 为保证程序正确运行,程序中下划线处的语句应是
A.catch(FilelnputStream fi
B.printStackTrace()
C.catch(IOException
D.Systeouprintln(
参考答案:C
解析: 本题考查Java的异常处理。异常处理是通过try-catch-finally语句来实现的, 该语句的格式如下: try{ … }catch(ExceptionType1 e) { … }catch(ExceptionType2 e) { … } … } finally { … } (1)try{…}语句选定捕获异常的范围。 程序执行过程中,try代码块所限定的语句可能会生成一个或多个异常对象,并抛弃异常对象。try内部不同的方法调用有可能产生相同的异常,但只需一个catch语句。 (2)由catch语句处理所抛出的异常事件。 catch语句可以是多个,分别处理不同类型的异常。catch语句都带一个参数,该参数是某个异常的类及其变量名(该异常对象的指针),catch用该参数去与抛出异常对象的类进行匹配,匹配上后就去执行该catch语句后的程序段。 (3)通过finally语句释放资源,为异常处理提供一个统一的出口。 finally语句不是必须的,也就是说捕获异常时可以没有finally语句。不管try代码块中是否发生了异常事件,finally块中的语句都会被执行。 本题程序中,打开一个文件,这个操作可能出现两种异常,即打开的文件不错在或者可能出现的其他I/O异常。第一种异常情况,当打开的文件不存在时,抛出 FileNotFoundException异常。另外一种情况,可能出现的I/O异常,抛出IOException异常。因此,划线处应填入的语句是catch(IOException e)。 本题的正确答案是选项C。