为什么当我们在Eclipse中写这样的语句的时候,编译器怎么知道这里要抛出异常    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedReader 以及它的父类都没有实现Runnabel接口,或者是其他有关异常的类,编译器怎么会知道有异常的呢?

解决方案 »

  1.   

    是不是因为我没找到啊,课件上面说了
     "对于从Exception类派生出来的所有其他类,编译器都会检查是否已经在可能抛出异常的方法中进行异常处理,或者已经指出该方法会抛出这样一个异常。"
     求高手解答
      

  2.   

    LZ确信使这条语句?这条语句,是不会有抛出异常捕捉的提示的
    肯定是因为后面的代码执行了 br.read 一类的,这些语句才有可能抛出IOException
      

  3.   

    因为调用的某个方法是声明可能抛出异常的,比如public void xxxx()throws exception{}
    当你调用这个方法的时候就必须捕获该异常,否则编译器则不允通过。
      

  4.   

    汗``刚发现自己问错了.比如说调用  br.readLine() 编译器怎么会知道要抛出异常的?