在我的理解中,所谓的异常机制也是让程序在出现某些错误的情况下还能继续执行完,如同两个人在恋爱,虽然出现各种问题,但还是希望将来能继续走下去。

  在java的异常结构中有一个父类叫做Throwable,这个父类具有两个子类,分别是:


Error
Exception


  为了便于初学者能更好的理解异常机制,我姑且先列举一些不恰当的例子:

  可以这样理解Error

  1、你某天很舒服的坐在沙发上看电视,你爸突然把你拉到书房里语重心长的对你说:


“你和她不能在一起,她其实是你失散多年的亲妹妹”(神马感觉,心里一万只草泥马在奔跑对不对?)


  2、终于能在一起了,尼玛突然在她房间抽屉发现当年变性手术的费用单(这次不只一万只了)。

  两个例子都有一个共同点,是你不会和她继续在一起了,你们的结合会是一种Error(错误),是硬伤!!!

  对于这种根本无法解决或无法隐忍的情况是所谓的Error,懂了吧

  而在java语言中,Error则是代表硬件,jvm或代码本身存在问题

  虽然你对于无法处理这一情况很不甘心,但你还是会一遍遍检查配置和你的代码,以期望能够解决

  再看看Exception

  把致命问题Error排除了(她是个好女孩),现在你和她能够在一起(程序能够继续执行)又多了一份希望。

  但是,你仍然不能掉以轻心。

  两个人相处,难免会产生一些不好的情绪,一旦你没能处理好,那么两个人的感情还是over(程序无法继续执行)

  在这里,Exception是那些你要处理的情绪问题的总称。

  为什么是总称呢?因为大脑产生的情绪(异常)非常复杂,还可细分为各种情绪(纠结体)……

  我们判断一个人的情绪是靠经验,比如产生这种坏情绪后,她有哪些行为和反映。

  在java里,Exception是一个父类,它还有很多的子类(也是各种坏情绪的封装)

  你看,这么简单,我们理解了整个java的异常体系。

  Throwable下的两个已知子类,Error和Exception