抛出的异常时java.lang.ArrayIndexOutOfBoundsException这个异常时运行时异常!这个异常与你新建的异常不是继承关系所以无法捕获!

解决方案 »

  1.   

    你catch换成Exception,看看能不能捕获异常,如果可以,那就证明你的AppDAOException有问题
      

  2.   


    这是抛出异常的继承结构!而你自定义的异常时直接继承Exception!
      

  3.   

    如果你在test()方法中直接抛出new throw AppDAOException();就可以捕获!
      

  4.   

    楼上理解是对的。
    首先ArrayIndexOutOfBoundsException和AppDAOException都是继承了Exception。但他们是两种不同的错误(异常)。他们两个没什么关系。抛出去能catch的到的异常只有是同一种异常即(抛出去的是子类异常)catch到的是(子类异常或父类异常)。这样说能明白吗?
      

  5.   

    AppDAOException 继承的异常与实际抛出的异常没有继承之间的联系所有捕捉不到
      

  6.   

    二楼正解,与你继承Exception没有关系