java基础学习:异常机制01
-
目录:
-
什么是异常:
-
异常体系结构:
-
Java异常处理机制:
-
处理异常:
-
自定义异常:
-
总结:
-
-
什么是异常:Exception
-
异常指程序运行中出现的不期而至的各种状况;如文件找不到,网络链接失败,非法参数等
-
异常发生在程序运行期间,它影响了正常的程序执行流程;
-
-
简单分类:三种类型的异常:
-
检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的;例如要打开一个不存在的文件;
-
运行时异常:运行时异常是可能被程序员避免的异常,与检查性异常相反,运行是异常可以在编译时被忽略;
-
错误ERROR:错误不是异常,而是脱离程序员控制的问题,错误在代码中通常被忽略。
-
-
异常体系结构:
-
java把异常当作对象来处理,并定义了一个基类:java.lang.Throwable作为所有异常的超类;
-
在Java API中已经定义了许多异常类,这些异常类分为2大类:错误ERROR和异常Exception;
-
throwable---Error / Exception
-
-
Error:
-
Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关;
-
Java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作的所需的内存资源时,将出现OutOfMemoryError,这些异常发生时,Java虚拟机(JVM)一般会选择线程终止;
-
-
-
在Exception分支中有一个重要的子类:RuntimeException(运行时异常)
-
ArrayIndexOutOfBoundsException(数组下标越界)
-
NullPointerException(空指针异常)
-
ArithmeticException(算术异常)
-
MissingResourceException(丢失资源异常)
-
ClassNotFoundException(找不到类异常),这些异常是不检查异常的,程序中可以选择捕获异常,也可以不处理;
-
-
这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这些异常的发生;
-
-
Error和Exception的区别:
-
Error通常是灾难性的错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;
-
Exception通常情况下是可以被程序处理的,并且在程序中应该尽可能的去处理这些异常;
-