异常:
概述:
异常就是Java程序在运行过程中出现的错误。
异常由来:
问题也是现实生活中一个具体事务,也可以通过java的类的形式进行描述,并封装成对象。其实异常就是Java对不正常情况进行描述后的对象体现。
程序的问题:Throwable
子类:
Error:(我们不处理, 严重,如内存溢出)
严重的错误,这个问题发生之后, 一般不编写针对代码进行处理, 而是要对程序进行修正.通常是由虚拟机抛出的的问题.
Exception:
编译期问题:(必须处理, 如果不处理, 编译不能通过)
除了RuntimeException及其子类, Exception中的所有子类都是, 这种异常必须处理, 否则编译不通过.
运行期问题:
RuntimeException:(我们不处理, 代码不严谨, 修正代码)
runtimeException及其子类, 这种异常不需要处理, 编译会通过, 不过这样的程序存在安全隐患, 遇到这样的异常需要修改代码
举例:
除零异常:
java.lang.ArithmeticException
public class ArithmeticExceptionextends RuntimeException
运行时期异常.
Exception in thread "main" java.lang.ArithmeticException: / by zero
at cn.itcast_preview.ExceptionDemo.main(ExceptionDemo.java:10)
数组角标越界异常
如果程序出现了问题, 而我们没有做任何处理, 那么JVM会做出默认处理.程序结束.
JVM默认的异常处理机制:
1.将该异常进行处理.并将该异常的名称,异常的信息,异常出现的位置打印到控制台上
2.同时将程序停止运行(我们不期望这样的处理方式)
*****自己处理的好处:
出现了问题不会停止程序, 做出处理后, 可以继续运行 |
|