Error和RuntimeException及其子类是unchecked exception.其他exception是checked exception.
checked exception可以出现在throws子句中,unchecked exception不可以。
Error是java自己的错误或者诸如内存耗尽等严重错误,是不可抗拒的,显然没有捕捉的必要,而且也没有办法捕捉。
RuntimeException是你的程序有逻辑错误,是程序员应该积极避免其出现的异常。比如NullPointerException等,完全是程序员马虎出的错。当遇到这种错误时,java将这个错误自动捕捉到,比如显示到concole里,然后继续运行。而checked exception如果不捕捉则会导致程序终止。
我就知道这点儿,不知道说的对不对。请高手指点。

解决方案 »

  1.   

    哦,那么我在使用RandomAccessFile时,在创建他的实例时,他的构造函数不是会抛出FileNotFoundException这个好象是从IOException继承来的,应该是Exception的子类,但我没有抛出FileNotFoundException编译也能通过这是为什么啊~
      

  2.   

    怎么会呢!!
    F:\Java\JCreatorV3\MyProjects\Hello\Hello.java:5: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
                    RandomAccessFile raf = new RandomAccessFile("Hello.txt", "rw");
                                           ^
    1 errorProcess completed.
      

  3.   

    你是不是把它throws出来了,如果throws出来了也可以