什么是异常
错误在我们编写程序中会经常发生,包括编译期间和运行期间的错误。
Error
是程序无法处理的错误,表示运行应用程序中较严重问题。它们在应用程序的控制和处理能力之外,而且绝大多数是程序运行时不允许出现的错误。
包括:虚拟机错误 VirtualMachineError、内存溢出 OutOfMemoryError、线程锁死 ThreadDeath
Exception
程序本身可以处理的异常,异常处理通常指针对这种类型的处理
1.Unchecked Exception (编译器不要求强处理的异常)
RuntimeException --> 空指针异常(NullPointerException)、数组下标越线异常(ArrayIndexOutOfBoundsException) 、算数异常(ArithmeticException)、类型转换异常(ClassCastException)
2.Checked Exception (编译器要求必须处理的异常
IO异常(IOException)、SQL 异常 (SQLException)
异常处理(抛出异常、捕获异常)
通过5个关键字来实现:try、catch、finally、throw、throws
捕获异常:try(执行可能产生异常的代码)---> catch(捕获异常) ---> finally(无论是否发生异常代码总能执行)
声明异常:throws (声明可能要跑出的异常)
抛出异常:throw (手动抛出异常)