什么是异常?
程序所发生的错误
异常的体系结构和分类
分类:
- 编译时异常:指的就是编译期间,编译器检测到某段代码可能会发生某些问题,需要程序员提前给代码做出错误的解决方案,否则编译不通过的
- 运行时异常:指的是编译通过了,但运行时出现的错误
体系结构:
---Throwable
--------Error:严重性错误
--------Exception:
----------------RuntimeException:
------------------------运行时异常
----------------!RuntimeException:
------------------------编译时异常
异常产生的原理
java对异常默认的处理方式,时抛出异常给上一级,如果出现了问题,java会将问题锁描述的异常类,创建一个对象实例,然后将该对象抛出给上一级;method->main->jvm->将异常出现的位置和错误的原因打印在控制台
异常的处理方式:
问题可以自己处理的
try..catch处理方式,自己将问题处理掉,不会影响到后续代码继续执行
问题自己处理不掉的
throws抛出方式:就问题扔给调用者
- throw:将异常对象抛给调用者
- throws:仅仅时对方法进行声明,告知调用者此方法存在异常
细节:如果抛出的异常对象时RuntimeException,则方法上面无需throws声明