(1)Error类和Exception类都继承自Throwable类。
Error的继承关系:
java.lang.Object-> java.lang.Throwable-> java.lang.Error
Exception的继承关系:
java.lang.Object-> java.lang.Throwable-> java.lang.Exception
(2)二者的不同之处:
Exception:
1.可以是可被控制(checked) 或不可控制的(unchecked)
2.表示一个由程序员导致的错误
3.应该在应用程序级被处理
Error:
1.总是不可控制的(unchecked)
2.经常用来用于表示系统错误或低层资源的错误
3.如何可能的话,应该在系统级被捕捉
(3)Java 中异常类的继承关系图:
(4)关于异常处理请参见博文:Java异常处理及异常机制介绍http://blog.csdn.net/zhandoushi1982/article/details/5484111
=============================================================================================
sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复;调用sleep不会释放对象锁。
wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。