"
还有我怎么知道一个函数应该抛出什么具体类型的已检查异常?
"
可以看javadoc里面有说明的。

解决方案 »

  1.   

    如果一个方法被指定为throws Exception,那么这个方法内部如果产生异常,将抛出,也就是不需要try catch也能正常编译、运行,这个异常会被丢给调用该方法的对象来处理。比如有方法public void get() throws IOException,那么如果有myObject.get()的话,应该是:try
    {
              myObject.get();
    }catch(Exception e){}如果只是public void get(),那么应该在get方法中处理异常,myObject.get()就不需要try catch,你的,明白?
      

  2.   

    看帮助..其实你可以都用父类就可以啦.exception...这样不管什么异常就都可以截获..
      

  3.   

    Throws 申明的异常一般都是存在的。如果不存在,(或者连原代码都看不到的话)我们根本无法知道。。java异常处理有单中典型:Error,Exception,RuntimeException;一般不需要查异常用RuntimeException的子类,
    而Exception的子类都是需要查异常的。(在不需要查异常的时候,用throws是出错的。因为程序会强迫捕获Exceptoin的所有子类)
    而error就是系统级的错误。。比如OutoFMemoryError等