Java中运行异常和一般异常的区别

如题所述

Exception 是代表了真正实际意义上的异常对象的根基类。Exception 和从它派生而来的所有异常都是应用程序能够捕获到的,并且可以进行异常错误恢复处理的异常类型。

Error 则表示 出现了一个非常严重的异常错误,并且这个错误可能是应用程序所不能恢复的,例如 LinkageError ,或 ThreadDeath 等。由Java虚拟机生成并抛出,Java程序不做处理。

java.long.Error和java.lang.RuntimeException(运行时异常)的子类免于编译时的检查。RuntimeException异常由系统检测,用户的Java 程序可不做处理,系统将它们交给缺省的异常处理程序。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-03
运行异常是指你编写的程序是安装JAVA规范写的,不存在语法上的错误,但是在运行中会出现的错误,比如空引用。加载的图片出现问题引起不能被调用等等,也就是说运行异常是在运行是才会出现的异常。一般异常就是包含未定义。未赋值。调用错误。拼写错误等一系列,可以在编写是解决的错误。
第2个回答  2011-07-03
不用去在意他们的准确定义,可以这样去理解:

运行时异常:
1、是虚拟机运行过程中遇到的“系统级”问题
2、这些问题在很多地方都能发生,比如ClassNotFound,所以没法去一一要求程序员捕获

非运行时异常,又叫错误:
1、是Java的类库或是程序员自己写的代码发生的异常
2、这些异常是类的开发者预期发生而且主动检测、抛出的,只在特定的位置、时机发生,是要求使用者捕获、处理的。比如IOException,那就是Java的I/O库写代码的时候主动判断文件是否存在等现象,发生现象的时候主动抛出来的,而我们用的时候也要处理它。

但愿你能理解我说的。
第3个回答  2015-06-01
运行时异常:由java虚拟机抛出的异常。用户不必处理。 而一般异常是用户可以抛出的异常,如果抛出调用必须进行处理。

1,从机制角度来讲:
运行时异常:
  在定义方法时不需要声明会抛出runtime exception;
  在调用这个方法时不需要捕获这个runtime exception;
  runtime exception是从java.lang.RuntimeException或java.lang.Error类衍生出来的。

一般异常:
  定义方法时必须声明所有可能会抛出的checked exception;
  在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去;
  checked exception是从java.lang.Exception类衍生出来的。
2,从逻辑的角度来说,
运行时异常和一般异常是有不同的使用目的的。一般异常用来指示一种调用方能够直接处理的异常情况。而运行时则用来指示一种调用方本身无法处理或恢复的程序错误。本回答被网友采纳
第4个回答  2011-07-03
看看think in Java

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网