不定项选择题 给出下面的不完整的方法:
   1)
   2){success=connect();
   3)if(success==-1){
   4)throw new TimedOutException();
   5)}
   6)}
   TimedoutException不是一个RuntimeException。下面的______声明可以被加入
第一行完成此方法的声明。
   A.public void method()
   B.public void method()throws Exception
   C.public void method()throws TimedOutException
   D.public void method()throw TimedOutException
   E.public throw TimedOutException void method()
【正确答案】 B、C
【答案解析】如果程序在运行的过程中抛出异常,而这个异常又不是RuntimeException或者Error,那么程序必须捕获这个异常进行处理或者声明抛弃(throws)该异常。捕获异常可以使用try{}catch(){}语句,而抛弃异常在方法声明时声明,在方法的声明后面加上throwsXxxxException,抛弃多个异常时在各异常问使用逗号(,)分隔。题目中的程序在运行时抛出的不是一个RuntimeException,所以必须捕获或者抛弃,而程序又没有捕获,所以应该在方法声明中声明抛弃。由于Exception是所有异常的父类,当然也可以代表RuntimeException。