1.什么是错误
程序运行时发生了不被期望的时间,阻止了程序按照预期正常执行
常见程序错误分为三类
编译错误:没遵循语法规范
运行时错误:程序执行时,网路出现错误,电脑运行内存不够
逻辑错误:程序没有按照预期的逻辑顺序执行。(这个靠自己积累经验才能 快速找到逻辑错误)
Java.lang软件包中有⼀个java.lang.Throwable类,这个类是java中所有错误和异常的超类, Throwable类有两个⼦类,Error与 Exception
Error: 是Throwable 的⼦类,包含⼤量⼦类。出错后程序⽆法处理,如OutOfMemoryError
Exception:是Throwable 的⼦类,包含⼤量⼦类。程序本身可以处理的异常,如ArrayIndexOutOfBoundException
2.异常类型
可查异常(编译器要求必须处置的异常):正确的程序在运行中,很容易出现的、情理可容的异常状况。可查异常虽然是异常状况,但在一定程度上它的发生是可以预计的,而且一旦发生这种异常状况,就必须采取某种方式进行处理。(要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。)
RuntimeException及其⼦类以外,其他的 Exception类及其⼦类, 如 IOException和ClassNotFoundException
不可查异常(编译器不要求强制处置的异常): 包括运⾏时异常(RuntimeException与其 ⼦类)和错误(Error),如ArrayIndexOutOfBoundsException
运行时异常需要程序员自己分析代码决定是否捕获和处理,比如空指针,被0除,数组越界