运行时异常与编译时异常!InterruptedException为编译时异常!编译器没有发现在try块里抛出抛出这个异常的方法,运行时编译器不检查!

解决方案 »

  1.   

    而且因为Exception是所有异常的父类,当然也是运行时异常的父类,所以也可以捕获运行时异常!编译器就没有报错
      

  2.   


    1,InterruptedException 是checked Exception,编译器要做检查。这个错误当然是:死代码(执行不到的代码)
    2,ArrayIndexOutOfBoundsException 是 not checked  Exception   ,编译器不做检查。它是运行时随时都可能抛出的。从程序设计角度看,捕获ArrayIndexOutOfBoundsException 是一个很坏的习惯。不要捕获它。因为:它表示程序代码设计时有问题,要修改程序代码中这个BUG。