肯定不是 能不能检测吧?
我觉得IndexOfBoundseException,就是可检测异常。
但书上说它是不可检测。晕,期待高手。

解决方案 »

  1.   

    检测异常:在编译时,jvm会进行检测,如果有检测异常,编译就通不过。例如:sqlExecption这个异常就是一个检测异常。你连接jdbc时,不捕捉这个异常(或这个异常的直,间父类),编译器就通不过。不允许编译。
    非检测异常:在编译时,jvm不会进行测,要靠人工来判断消除的异常。例如:一个数组为3个长度,当你使用下标为3时,就会产生数组下标越界异常。这个异常jvm不会进行检测。要靠程序员来判断
      

  2.   

    一个数组为3个长度,当你使用下标为3时,就会产生数组下标越界异常。这个异常jvm不会进行检测。要靠程序员来判断我觉得2楼说法有误。
    不是这样的。
    数组越界JVM会检测的
      

  3.   

    对,jvm负责在运行时检测,编译器不能判断.
    这就是运行时异常的特点.
      

  4.   

    检测异常和不可检测异常就是楼上各位所说的编译时异常和运行时异常.
    编译时异常是编译器根据自己的规则必须进行处理的.
    而运行时异常比如IndexOfBoundseException,我们并不是必须对这个异常进行捕获操作,因为很多时候我们的程序是能够保证不发生这个异常的.如果这一类的异常也定义为编译时异常,必须手动处理,那么程序的代码量会剧增.