异常 Exception
:在Java的学习中不免遇到异常与错误
:这里是我对异常学习的一点总结
首先要提出来的是 :所有异常的父类是:Throwable
也就是所有异常都继承的Throwable(可抛出)类。
接下来是关于异常的一些简介:
异常机制的概述:
异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。
程序错误分为三种:1.编译错误;2.运行时错误;3.逻辑错误。
异常的常见形式:
Throwable //super
Error -错误
Exception -异常
声明
异常和错误的区别是:异常能被程序本身可以处理,错误是无法处理。
常见的异常
IndexOutOfBoundsException下标越界异常
ArithmeticException算术异常
NullPointerException空指针异常
以上都属于编译时异常
RuntimeException运行时异常
如何处理?
try {
可能出异常的代码
}catch(可能出的异常) {
出异常怎么办?
}finally{
一定会执行!除非退出jvm
}
不处理的异常printStackTrace方法会被jvm调用,并打印出异常堆信息
只要程序出异常,jvm会自动创建一个相应的异常类的对象。
throws拋出异常
对于编译时异常,可以使用throws将异常拋出去,拋给方法的调用者,该异常由方法的调用者处理。
自定义异常
通常自定义异常都是自定义运行时异常,所以只需要继承RuntimeException
自定义异常主要是通过类的名字来提示异常的类型