请说出Exception的传播机制?

参考解答

情况1,异常的传播机制如下图所示:

  1. method1调用method2
  2. method2调用method3
  3. method3在执行过程中出现了异常,会检查本方法的catch块并判断是否有匹配,在上图中没有,这时method3结束调用,返回至method2
  4. 继续检查method2的catch块并判断是否有匹配,在上图用例中同样没有,这时method2结束调用,返回至method1
  5. 继续检查method1的catch块判断是否有匹配,在上图用例中还是没有,这时method1结束调用,这时线程中没有更多方法了,线程就会终止

情况2,异常的传播机制如下图所示:

  1. method1调用method2(同情况1)
  2. method2调用method3(同情况1)
  3. method3在执行过程中出现了异常,会检查本方法的catch块并判断是否有匹配,在上图中没有,这时method3结束调用,返回至method2(同情况1)
  4. 继续检查method2的catch块并判断是否有匹配,在上图用例中同样没有,这时method2结束调用,返回至method1(同情况1)
  5. 继续检查method1的catch块并判断是否有匹配,这回有一个catch块能够匹配此异常,这时将异常对象传入catch块,从此catch块位置恢复method1的运行

results matching ""

    No results matching ""