异常可分为可检测异常和不可检测异常,那区分的依据是什么? 肯定不是 能不能检测吧?我觉得IndexOfBoundseException,就是可检测异常。但书上说它是不可检测。晕,期待高手。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 检测异常:在编译时,jvm会进行检测,如果有检测异常,编译就通不过。例如:sqlExecption这个异常就是一个检测异常。你连接jdbc时,不捕捉这个异常(或这个异常的直,间父类),编译器就通不过。不允许编译。非检测异常:在编译时,jvm不会进行测,要靠人工来判断消除的异常。例如:一个数组为3个长度,当你使用下标为3时,就会产生数组下标越界异常。这个异常jvm不会进行检测。要靠程序员来判断 一个数组为3个长度,当你使用下标为3时,就会产生数组下标越界异常。这个异常jvm不会进行检测。要靠程序员来判断我觉得2楼说法有误。不是这样的。数组越界JVM会检测的 对,jvm负责在运行时检测,编译器不能判断.这就是运行时异常的特点. 检测异常和不可检测异常就是楼上各位所说的编译时异常和运行时异常.编译时异常是编译器根据自己的规则必须进行处理的.而运行时异常比如IndexOfBoundseException,我们并不是必须对这个异常进行捕获操作,因为很多时候我们的程序是能够保证不发生这个异常的.如果这一类的异常也定义为编译时异常,必须手动处理,那么程序的代码量会剧增. 请求帮助 网上流传的获得汉字拼音首字母的java程序有个问题 JNI的DLL调用DLL的问题 笨笨的程序求救....!! 用eclipse可以打开jar文件查看代码吗? 读取txt文件中数据的问题 哪位用applet开发过报表程序???请进! 如何让一个CLASS重新LOAD(100分送) 哪里有JDBC for MySQL驱动程序:mm.mysql?? 怎样生成DLL?????我没有分了! java String 插入Oracle 超长 很菜的问题:(
非检测异常:在编译时,jvm不会进行测,要靠人工来判断消除的异常。例如:一个数组为3个长度,当你使用下标为3时,就会产生数组下标越界异常。这个异常jvm不会进行检测。要靠程序员来判断
不是这样的。
数组越界JVM会检测的
这就是运行时异常的特点.
编译时异常是编译器根据自己的规则必须进行处理的.
而运行时异常比如IndexOfBoundseException,我们并不是必须对这个异常进行捕获操作,因为很多时候我们的程序是能够保证不发生这个异常的.如果这一类的异常也定义为编译时异常,必须手动处理,那么程序的代码量会剧增.