下面是我的总结,希望对你有帮助
Java中通过面向对象的思想用类的形式把程序所产生的问题进行描述和封装对象,这个类是Throwable类,用来描述不正常情况的类,称为异常类,该类和继承该类的子类都具备可抛性。继承Throwable的类有error和Exception。
Error是指由jvm抛出的严重性的错误,一般不可处理,比如内存泄漏,栈溢出。出现这种情况直接修改程序。Exception是指可处理的。Exception异常又分为编译时被检测异常和运行时异常。编译时被检测异常是指在编译之前就存在的一种异常,只要是Exception和继承Exception的子类(除了RuntimeException体系以外),这种异常一旦出现,就要求要给出对应的处理方式,比如try catch捕获和针对性处理,或对其进行抛出,抛给别人去处理,如果没有给出对应的处理方式编译就会不通过。其次是RuntimeException运行时异常,运行时异常是指程序在运行的时候出现的异常,只要是RuntimeException和继承RuntimeException的子类都是,这种异常本身程序不存在错误,也不用给出具体的处理方式,往往是在程序运行的时候由于调用者的原因传入一些非法的值而导致的错误,这种错误强制终止程序让调用者去修改程序,比如数组角标越界异常,这种错误就是在程序运行的时候传入超出数组下标的值而导致的异常,再比如空指针异常也一样,是指传入的值是空的。
|