面试被问到java什么异常不用自己处理。。。 还没真没碰到过,谁知道? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 程序出了那种异常JVM就会抛出相应的异常比如代码:ArrayIndexOutOfBoundsException public void demo1(){ try{ int a = 10/0; }catch(ArithmeticException ae){ System.out.println(“算术运算异常:”+ae.getMessage()); }catch(Exception e){ System.out.println(“其他异常”+e.getMessage()); } }public void demo2(){ String strList[] = {"a","b","c"}; try{ String str = strList[4].toString(); }catch(ArrayIndexOutOfBoundsException ae){ System.out.println(“数组下标越界:”+ae.getMessage()); }catch(Exception e){ System.out.println(“其他异常”+e.getMessage()); } }总之Exception是所有异常的父类.如果你出现的异常被他的子类捕捉了,他就不会再捕捉比如demo2()方法如果是出现了ArrayIndexOutOfBoundsExceptionException就不会捕捉了! 那么为什么要捕捉多次呢?因为ArrayIndexOutOfBoundsException只是数组下标越界的异常,所以它比Exception更的仔细,更能说明异常的原因!如果不是出现ArrayIndexOutOfBoundsException则Exception就会来捕捉 非受检查的异常 编译器不会强制调用者处理,这类异常一般为RuntimeException的子类。 RuntimeException类的子类Error类的子类都可以不catch RuntimeException类的子类可以不catch 直接抛就OK了 unchecked exception == runtime exceptionerror如果算异常的话也不用catch 异常分checked和unchecked异常,后者包括RuntimeException类的子类Error类的子类,不用处理 1. RuntimeException不用自己处理,出现这种异常一般情况自己代码都是写错了。2. 自己写的工具类或方法里面的自己抛出的异常不用自己处理,调用的人处理。3. 自己不能处理的异常也能自己处理,典型的情况,如:写的代码是底层(或比较底层的代码),在这层中不能处理出现异常,需要抛出去给上层代码处理。 希望对你有帮助! 下班了,我该3了! 2个虚拟机异常和runtimeException 运行时异常是不要自己处理,JVM会处理的 error 的异常不用处理,你也处理不了 RuntimeException类的子类Error类的子类都可以不catch RuntimeException类的子类Error类的子类外加逻辑的异常系统抓不出来 我怎么觉得是IOException和error呢? 觉得runtimeException和它的子类不用自己处理 Exception是所有异常的父类.如果你出现的异常被他的子类捕捉了,他就不会再捕捉比如demo2()方法如果是出现了ArrayIndexOutOfBoundsExceptionException就不会捕捉了! 那么为什么要捕捉多次呢?因为ArrayIndexOutOfBoundsException只是数组下标越界的异常,所以它比Exception更的仔细,更能说明异常的原因!如果不是出现ArrayIndexOutOfBoundsException则Exception就会来捕捉RuntimeException类的子类Error类的子类都可以不catch异常分checked和unchecked异常,后者包括RuntimeException类的子类Error类的子类,不用处RuntimeException不用自己处理,出现这种异常一般情况自己代码都是写错了。自己写的工具类或方法里面的自己抛出的异常不用自己处理,调用的人处理。自己不能处理的异常也能自己处理,典型的情况,如:写的代码是底层(或比较底层的代码),在这层中不能处理出现异常,需要抛出去给上层代码处理。除了执行异常,其他的2种异常都不用处理,他问你其他2中异常时什么,你说不知道,反正不需要我处理,我只知道执行异常用我处理就行了。希望对你有帮助 Error可以处理的,只是编程规范标注这类错误不能处理。RuntimeException的标注为可以不用处理,但是可以进行处理,此为用户自己选择。Error的标注为一定不要处理。不一样的。 异常好像分两类:编译时异常和运行时异常,编译时异常一般是要处理的,即用try{}catch(){}处理,但也有例外,如果你在可能会发生异常的地方只是简单的抛出,并不做处理,最后,异常会交给java虚拟机处理。 非受检异常,RuntimeException的子类 IO异常很多是因为磁盘空间满,或操作系统没给文件读取写入权限造成的,是可以catch的 RuntimeException类的子类Error类的子类都可以不catch JAVA核心技术第八版 185页 “都属于未检查异常。编译器不会查看是否为这些错误提供了处理器……” 诡异的基础题(3),看看你会不会! 注意到手机上的键盘和不断变化的屏幕吗,大学知道这键盘是怎么和这么多的屏幕建立关系的呢?? 缺什么标志符?? 一个一直疑惑不解的问题 在解析器程序中,如何错误处理,实现错误定位? 一个java入门级别的指导 ○ 关于rmi中stub文件的问题,紧急! 子类从父类中继承的方法在内存中是否和父类的方法在同一位置??调用了子类,是否在内存中一定有父类?? 求救,数据集不能支持向前移动。 杭州的手机和小灵通 求高手相助:Java写的windows服务,在windows2003上...... TreeSet中为什么就允许有重复的记录?
比如代码:ArrayIndexOutOfBoundsException
public void demo1(){
try{
int a = 10/0;
}catch(ArithmeticException ae){
System.out.println(“算术运算异常:”+ae.getMessage());
}catch(Exception e){
System.out.println(“其他异常”+e.getMessage());
}
}public void demo2(){
String strList[] = {"a","b","c"};
try{
String str = strList[4].toString();
}catch(ArrayIndexOutOfBoundsException ae){
System.out.println(“数组下标越界:”+ae.getMessage());
}catch(Exception e){
System.out.println(“其他异常”+e.getMessage());
}
}
总之Exception是所有异常的父类.如果你出现的异常被他的子类捕捉了,他就不会再捕捉比如demo2()方法如果是出现了ArrayIndexOutOfBoundsException
Exception就不会捕捉了!
那么为什么要捕捉多次呢?因为ArrayIndexOutOfBoundsException只是数组下标越界的异常,所以它比Exception更的仔细,更能说明异常的原因!
如果不是出现ArrayIndexOutOfBoundsException则Exception就会来捕捉
Error类的子类
都可以不catch
error如果算异常的话也不用catch
Error类的子类,不用处理
2. 自己写的工具类或方法里面的自己抛出的异常不用自己处理,调用的人处理。
3. 自己不能处理的异常也能自己处理,典型的情况,如:写的代码是底层(或比较底层的代码),在这层中不能处理出现异常,需要抛出去给上层代码处理。
希望对你有帮助! 下班了,我该3了!
Error类的子类
都可以不catch
Error类的子类
外加逻辑的异常系统抓不出来
Exception就不会捕捉了!
那么为什么要捕捉多次呢?因为ArrayIndexOutOfBoundsException只是数组下标越界的异常,所以它比Exception更的仔细,更能说明异常的原因!
如果不是出现ArrayIndexOutOfBoundsException则Exception就会来捕捉
RuntimeException类的子类
Error类的子类
都可以不catch
异常分checked和unchecked异常,后者包括RuntimeException类的子类
Error类的子类,不用处
RuntimeException不用自己处理,出现这种异常一般情况自己代码都是写错了。
自己写的工具类或方法里面的自己抛出的异常不用自己处理,调用的人处理。
自己不能处理的异常也能自己处理,典型的情况,如:写的代码是底层(或比较底层的代码),在这层中不能处理出现异常,需要抛出去给上层代码处理。
除了执行异常,其他的2种异常都不用处理,他问你其他2中异常时什么,你说不知道,反正不需要我处理,我只知道执行异常用我处理就行了。希望对你有帮助
Error可以处理的,只是编程规范标注这类错误不能处理。
RuntimeException的标注为可以不用处理,但是可以进行处理,此为用户自己选择。
Error的标注为一定不要处理。
不一样的。
IO异常很多是因为磁盘空间满,或操作系统没给文件读取写入权限造成的,是可以catch的
Error类的子类
都可以不catch