java基础学习之:异常分类
二:error与Exception
1、error
包括一些严重的程序不能处理的系统错误类,如内存溢出、虚拟机错误、栈溢出等。
这类错误一般与硬件有关,与程序本身无关,通常由系统进行处理,程序本身无法捕获和处理。
常见的error有:
NotClassDeFountError(类未定义错误),
OutofMemoryError(内存溢出错误),
StackOverFlowError(栈溢出错误)。
2、Exception:异常分为运行时异常和检查型异常。
检查型异常:
java编译器对检查性异常会要求进行catch,必须进行捕获,否则编译不成功。
java认为检查性异常都可以被处理,所以必须显示的处理checked异常。
常见的检查性异常有IOException,SqlException。
比如IO流的文件找不到。像这种就需要抛出try catch
运行时异常:
程序员不需要去手动的catch。当程序中出现运行时异常时,java虚拟机会进行处理。
常见的运行时异常有:空指针异常,算术异常,数组越界异常等。这种不需要抛出,点击运行然后根据idea的提醒自己修改代码就行。
error是系统错误或者资源错误,是不可控制的。
两个区别:
exception是程序错误引起,检查型异常在程序中必须被程序员try,catch进行显示处理,而运行时异常不需要,它会有虚拟机进行处理。
名词:
检查型异常:仅有IOException
非检查型异常:所有error+RunntimeException