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

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

时间: 2024-10-02 10:25:01

java异常和错误类总结(必看篇)_java的相关文章

Java final 修饰符知识点总结(必看篇)_java

final从字面上理解含义为"最后的,最终的".在Java中也同样表示出此种含义. final可以用来修饰变量(包括类属性.对象属性.局部变量和形参).方法(包括类方法和对象方法)和类. 1. final修饰类: final修饰类即表示此类已经是"最后的.最终的"含义.因此,用final修饰的类不能被继承,即不能拥有自己的子类. 如果视图对一个已经用final修饰的类进行继承,在编译期间或发生错误. 2. final修饰方法: final修饰的方法表示此方法已经是&

JavaWeb学习笔记分享(必看篇)_java

自定义列表     <dl></dl>:表示列表的范围         **在里面 <dt></dt>:上层内容         **在里面 <dd></dd>:下层内容   有序列表     <ol></ol>:有序列表的范围         --属性 type:设置排序方式,1(默认),a,i..         **在ol标签里面 <li>具体内容</li>     无序列表   

Eclipse常用快捷键总结(必看篇)_java

Alt+/                                内容辅助 最常用的快捷键,省去了自己一个字一个字敲代码的时间 Ctrl+Shift+F                        格式化文档 Ctrl+Shift+O                    批量导入包 Ctrl+t                                 打开类型树 Ctrl+鼠标左键 / F3              打开申明 查看代码的时候经常会用到 Alt+左箭头    

js正则表达式学习和总结(必看篇)_正则表达式

最近在做一个小项目时用到了正则匹配,感觉正则挺好用的,所以打算抽时间来小小总结一下. 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符").模式描述在搜索文本时要匹配的一个或多个字符串.RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具.正则表达式是一种查找以及字符串替换操作. 新建正则表达式 方式一:直接量语法 var reg = /pattern/attributes 方式二:创建 RegExp 对象的语法  var

常用Javascript函数与原型功能收藏(必看篇)_javascript技巧

如下所示: // 重复字符串 String.prototype.repeat = function(n) { return new Array(n+1).join(this); } // 替换全部 String.prototype.replaceAll = function(str1, str2) { return this.replace(new RegExp(str1, "gm"), str2); } // 清除空格 String.prototype.trim = function

thrift安装遇到的问题以及解决方法(必看篇)_Linux

1. 必须安装boost.最新的稳定版是1.48.0. 1.1.先下载:http://sourceforge.NET/projects/boost/files/boost/1.48.0/          选择tar.gz包,     下载后我解压到了/usr/local/boost_1_48下:tar zxvf boost1.48.0 -C /usr/local/boost_1_48 1.2.安装过程和以前的老版本有些不同,看自带软件包里的index.html就可以了:     主要内容涉及到

浅谈linux下的一些常用函数的总结(必看篇)_Linux

1.exit()函数 exit(int n)  其实就是直接退出程序, 因为默认的标准程序入口为int main(int argc, char** argv),返回值是int型的. 一般在shell下面,运行一个程序,然后使用命令echo $?就能得到该程序的返回值,也就是退出值,在main()里面,你可以用return n,也能够直接用exit(n)来做.unix默认的习惯正确退出是返回0,错误返回非0. 重点:单独的进程是返回给操作系统的.如果是多进程,是返回给父进程的. 在父进程里面调用w

JS基础随笔(菜鸟必看篇)_基础知识

在学习的过程中总会一次次的冒出以前囫囵吞枣的地方,下面将今天学到的一下知识点记录下来方便以后查看. JavaScript中的数据类型 简单(基本)数据类型:Number.String.Boolean.Undefined.Null 复杂(引用)数据类型: Object.Array.Date.function等 下面介绍一下简单(基本)数据类型和复杂(引用)数据类型的区别: 简单数据类型:在栈内直接存储值,如下图所示                                          

JavaScript自学笔记(必看篇)_javascript技巧

0-判断变量.参数是否初始化 if(x){} //变量被初始化了或者变量不为空或者变量不为零 1-声明函数不需要声明返回值.参数类型,句尾甚至都不需要';' function sum(i1,i2){return i1+i2} 2-直接声明匿名函数立即使用 var f=function(i1,i2){return i1+i2;}; alert(f(1,2));//普通匿名函数 alert(function(i1,i2){return i1+i2;}(3,4));//直接声明,立即使用 3-js中没