java 中的异常继承体系及常见运行时异常?
Throwable 类是所有异常或错误的超类,它有两个子类:Error(错误) 和 Exception(异常)。
Error(错误):是指,如系统崩溃、虚拟机出错误等, 这种错误无法恢复,将导致应用程序中断。
Exception 异常又分为两种:
编译时异常:如果不处理,代码编译错误。
运行时异常:程序运行时发生,无需处理,对代码进行修改解决问题。
常见的运行时异常有:
1、空指针异常,调用了未经初始化的对象或者是不存在的对象。
2、ClassNotFoundException 指定的类不存在。
3、数组下标越界异常。
4、NoSuchMethodException:方法不存在错误。
异常的解决方式?
1、throws:
throws 来告知调用程序可能会抛出异常,不会处理。需要调用方法处理这些异常,throws 关键字后可接多个异常类名。
2、try-catch:
try-catch 块捕获处理异常。在 try 代码块中,包含可能发生异常的代码, 一旦发生异常,则抛出异常,会进入 catch 代码块,可以有多个 catch 子句。
try-catch 可以和 finally 结合使用,finally 代码块肯定会执行。