java的异常类型有哪几种?Excetpion和Error的区别是什么?

两种:Error和Exception。两者的父类都是Throwable

区别:Error:一般发生在严重故障时,它们在java程序处理的范畴之外;Error用来指示运行时环境发生的错误。例如:JVM的内存溢出,系统崩溃,一般的,程序不会从错误中恢复。

           Exception:程序可以处理的异常,可以捕获且可以恢复。遇到这类异常应该尽可能处理异常,不应该随意终止异常。

Exception又分为两类,

CheckedException(编译时异常):需要用try catch显示的捕获,对于可恢复的异常使用CheckedException。最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。

RuntimeException(运行时异常):不需要捕获,对于程序异常(不可恢复)的异常使用RuntimeException。运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。

猜你喜欢

转载自www.cnblogs.com/elian91/p/11127456.html