java异常和错误类总结(必看篇)

所属分类: 软件编程 / java 阅读数: 37
收藏 0 赞 0 分享

java异常和错误类总结

最近由于考试和以前的面试经常会遇到java当中异常类的继承层次的问题,弄得非常头大,因为java的异常实在是有点多,很难记下来,今天正好查了一些资料整理下来,希望对自己和大家有点帮助。最开始的时候习惯用笔记本(手写的纸质的本子)记笔记,后来发现查阅的时候不是很方便,而且速度比较慢。后来改用notepad开始记,感觉效果挺棒,简单易用,没有花哨的东西。但是也有它的缺点,比如版式的整理,不能加入一些图片(往往图片特别是一些大纲是非常好的记忆学习方法)等等,于是尝试用markdown开始写,放到博客上以后查阅方便,也能让大家分享,一起学习进步。从开始学习计算机相关领域直到现在,非常感谢很多国内外大牛无私的分享,真的学到了很多,以后不断的学习知识的同时,以此自勉,也要多多写点东西和大家分享,欢迎指出不足和错误之处,一起学习。

一、java异常和错误的主要类

java异常分为异常和错误,Exception和Error,两个类,者这两个类都继承自Throwable类,Throwable是所有java异常的根。

java所有的异常类包括Throwable,Exception,Error都是类,所以都是可以实例化的(笔试经常会遇到)

Error:不能被程序很好处理的错误(cannot be handled reasonably by program)

机器的内存不够了

JVM崩溃了(是程序都有可能挂掉)

线程挂掉了

Exception:可以被程序处理的(can be handled by program)

IO错误(键盘,磁盘)

网络错误

不合法的类型转换

数组或者容器越界

java的异常一般会分为运行时异常和非运行时异常

运行时异常就是RunTimeException的所有子类

非运行时异常就是Exception的其他所有孩子类,比如IOException,InterruptedException

二、java异常结构图

三、java异常详细的类层次结构

java.lang包里面的所有异常
java.lang.Throwable (implements java.io.Serializable)
java.lang.Error
java.lang.AssertionError
java.lang.LinkageError
java.lang.BootstrapMethodError
java.lang.ClassCircularityError
java.lang.ClassFormatError
java.lang.UnsupportedClassVersionError
java.lang.ExceptionInInitializerError
java.lang.IncompatibleClassChangeError
java.lang.AbstractMethodError
java.lang.IllegalAccessError
java.lang.InstantiationError
java.lang.NoSuchFieldError
java.lang.NoSuchMethodError
java.lang.NoClassDefFoundError
java.lang.UnsatisfiedLinkError
java.lang.VerifyError
java.lang.ThreadDeath
java.lang.VirtualMachineError
java.lang.InternalError
java.lang.OutOfMemoryError
java.lang.StackOverflowError
java.lang.UnknownError
java.lang.Exception
java.lang.CloneNotSupportedException
java.lang.InterruptedException
java.lang.ReflectiveOperationException
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.lang.NoSuchFieldException
java.lang.NoSuchMethodException
java.lang.RuntimeException
java.lang.ArithmeticException
java.lang.ArrayStoreException
java.lang.ClassCastException
java.lang.EnumConstantNotPresentException
java.lang.IllegalArgumentException
java.lang.IllegalThreadStateException
java.lang.NumberFormatException
java.lang.IllegalMonitorStateException
java.lang.IllegalStateException
java.lang.IndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
java.lang.StringIndexOutOfBoundsException
java.lang.NegativeArraySizeException
java.lang.NullPointerException
java.lang.SecurityException
java.lang.TypeNotPresentException
java.lang.UnsupportedOperationException

java.io包里的所有IO异常

ava.lang.Exception
java.io.IOException
java.io.CharConversionException
java.io.EOFException
java.io.FileNotFoundException
java.io.InterruptedIOException
java.io.ObjectStreamException
java.io.InvalidClassException
java.io.InvalidObjectException
java.io.NotActiveException
java.io.NotSerializableException
java.io.OptionalDataException
java.io.StreamCorruptedException
java.io.WriteAbortedException
java.io.SyncFailedException
java.io.UnsupportedEncodingException
java.io.UTFDataFormatException

以上这篇java异常和错误类总结(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java的面向对象编程基本概念学习笔记整理

这篇文章主要介绍了Java的面向对象编程基本概念学习笔记整理,包括类与方法以及多态等支持面向对象语言中的重要特点,需要的朋友可以参考下
收藏 0 赞 0 分享

Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

这篇文章主要介绍了Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Java实现杨辉三角 LeetCode Pascal's Triangle

这篇文章主要介绍了基于Java实现杨辉三角 LeetCode Pascal's Triangle的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中Spring获取bean方法小结

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢?下面通过本文给大家介绍Java中Spring获取bean方法小结,对spring获取bean方法相关知识感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

如何计算Java对象占用了多少空间?

在Java中没有sizeof运算符,所以没办法知道一个对象到底占用了多大的空间,但是在分配对象的时候会有一些基本的规则,我们根据这些规则大致能判断出来对象大小,需要的朋友可以参考下
收藏 0 赞 0 分享

剖析Java中的事件处理与异常处理机制

这篇文章主要介绍了Java中的事件处理与异常处理机制,讲解Java是如何对事件或者异常作出响应以及定义异常的一些方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Java的Struts2框架的结构及其数据转移方式

这篇文章主要介绍了详解Java的Struts2框架的结构及其数据转移方式,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

Java封装好的mail包发送电子邮件的类

本文给大家分享了2个java封装好的mail包发送电子邮件的类,并附上使用方法,小伙伴们可以根据自己的需求自由选择。
收藏 0 赞 0 分享

在Java的Struts中判断是否调用AJAX及用拦截器对其优化

这篇文章主要介绍了在Java的Struts中判断是否调用AJAX及用拦截器对其优化的方法,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

java多线程Future和Callable类示例分享

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们就来研究下Future和Callab
收藏 0 赞 0 分享
查看更多