一、异常
1、异常是指:程序在运行时所发生的非正常情况或者错误,当程序违反了语义的规则时,java虚拟机就会将出现的错误表示为一个异常抛出。(异常包括:程序执行的过程中遇到的事先没有预料到的情况)
2、异常的目的:主要是想提高程序的安全性和鲁棒性。
3、程序出现异常时,可以使throw抛出的有:Error、Throwable、Exception、RuntimeException
4、异常分为:错误(error)和异常(exception)
(1)、错误(error)
Error表示程序运行的时候出现的错误,并且该错误是不可恢复的,一般error是属于error层的错误,并且会导致程序终止。如:ThreadDeath
(2)、异常(exception)
1)、Exception表示的是可恢复的异常,java编辑器一本都是可以捕捉到的。
2)、exception(异常)分为两种:检查异常和运行时异常
检查异常:
检查异常时程序中最经常遇见的异常;例如:IO异常和SQL异常,这些异常一般都会发生在编译阶段,并且java编译器会强制程序捕捉这种类型的异常,即把可能出现的异常会放到try-catch代码块中去进行处理。(try块中存放异常的代码;catch块中存放的是处理异常的代码。)
运行时异常:
运行时异常,编译器不会强制对其进行处理。一般是由JVM进行处理的。如:空指针异常、数组越界异常、缓冲区溢出异常等;
当程序中出现运行时异常时,系统会把异常一直往上层抛出异常,直到有吹异常的代码位为止。
(1)、如果是多线程就是Thead.run()方法抛出异常。
(2)、如果是单线程,就用main()方法抛出异常。这个线程就会退出,或者整个程序就会退出。