给定下列程序,下面说法正确的是_________。 public class Test2_16 { public void m1() throws IOException{ try { throw new IOException(); } catch (IOException e){ } } public void m2(){ m1(); } } A. 因m1方法里已经捕获了异常,因此m2里调用m1()时不用处理异常,程序编译通过 B. m2或者用throws声明异常,或者在方法体里面用try/catch块去调用m1并捕获异常,否则编译报错 C. m2方法体里面必须用try/catch块去调用m1并捕获异常,否则编译报错 D. m2方法必须用throws声明异常,否则编译报错
时间: 2023-06-02 12:03:29 浏览: 82
B. m2或者用throws声明异常,或者在方法体里面用try/catch块去调用m1并捕获异常,否则编译报错。因为m1方法声明了IOException异常,在调用时必须进行异常处理,要么在m2方法中使用try/catch块捕获异常,要么在m2方法中使用throws声明将异常抛出。如果都不处理编译会报错。
阅读全文