java 运行错误和一般错误的区别

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:31:20
请大虾多多指教

运行错误?一般错误?
错误好像是不分类的吧,错误一般是通不过编译的,
eg:在eclipse中编程时,如果调的是自动编译,每次出现红线或者出现红叉时 那个就叫做错误。

我感觉你说的应该是异常: 异常分为运行时异常和受检测异常,

运行时异常是系统运行时发出的异常,程序员控制不了的,这类异常不需要try,catch和throws exception语句,是由java虚拟机抛出的,并且自动捕获抛出的main方法中,我们不能对这个异常进行处理,它会直接终止程序。一般遇到的就是空指针异常,数组越界异常等,这些异常一般是我们可以在前台控制台可以看到的,相信你也看到过吧。

受检测异常指的就是我们可以处理的异常,我们可以通过try catch语句捕获并且处理(也可以不处理直接向上层抛出),处理之后程序还可以继续执行,不会终止程序,如果每一层都每一处理,则会终止程序。

希望你看了后能有所收获。(提示:其实异常和错误都继承了Throwable这个类,至于细致的你自己看看书)

一般错误:
编译器会识别出来----编译不通过!只能修改的没有问题才可以编译通过。

运行错误:
编译通过了,但是运行的时候出错。比如空指针等错误。

error是不可控的
exception 是我们可以自己处理的

错误?异常?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。