JDK源码解析之 java.lang.Error
java.lang.Error
错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
一、源码部分
//继承了java.lang.Throwable
public class Error extends Throwable {//适用于java序列化机制,过判断类的serialVersionUID来验证的版本一致的static final long serialVersionUID = 4980196508277280342L;//构造一个错误的详细信息,可通过调用initCause来初始化,默认值为nullpublic Error() {super();}//使用指定的详细信息消息构造新错误。public Error(String message) {super(message);}//使用指定的详细信息和原因构造新错误。public Error(String message, Throwable cause) {super(message, cause);}//使用指定的原因构造新错误。public Error(Throwable cause) {super(cause);}//使用指定的详细信息消息、原因、启用或禁用禁止显示以及启用或禁用可写堆栈跟踪来构造新错误。protected Error(String message, Throwable cause,boolean enableSuppression,boolean writableStackTrace) {super(message, cause, enableSuppression, writableStackTrace);}
}
二、Java中常见的错误
1、java.lang.Error
错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
2、java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。
3、java.lang.Asserti
断言错。用来指示一个断言失败的情况。
4、java.lang.ClassCircularityError
类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。
5、java.lang.ClassFormatError
类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。
6、java.lang.ExceptionInInitializerError
初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。
7、java.lang.IllegalAccessError
违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。
8、java.lang.IncompatibleClassChangeError
不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
9、java.lang.Instantiati
实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.
10、java.lang.InternalError
内部错误。用于指示Java虚拟机发生了内部错误。
11、java.lang.LinkageError
链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。
12、java.lang.NoClassDefFoundError
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
13、java.lang.NoSuchFieldError
域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。
14、java.lang.NoSuchMethodError
方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。
15、java.lang.OutOfMemoryError
内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
16、java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
17、java.lang.ThreadDeath
线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
18、java.lang.UnknownError
未知错误。用于指示Java虚拟机发生了未知严重错误的情况。
19、java.lang.UnsatisfiedLinkError
未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。
20、java.lang.UnsupportedClassVersi
不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。
21、java.lang.VerifyError
验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。
22、java.lang.VirtualMachineError
虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。
JDK源码解析之 java.lang.Error相关推荐
- JDK源码解析之 java.lang.Exception
异常.是所有异常的基类,用于标识一般的程序运行问题.这些问题通常描述一些会被应用程序捕获的反常情况. 一.源码部分 //继承了java.lang.Throwable public class Exce ...
- JDK源码解析之 java.lang.Thread
位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态.上下文切换 ...
- JDK源码解析之 java.lang.Integer
teger 基本数据类型int 的包装类 Integer 类型的对象包含一个 int 类型的字段 一.类定义 public final class Integer extends Number imp ...
- JDK源码解析之 Java.lang.Object
Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起.作为其他所有类的基类,Object具有哪些属性和行为,是Java语言设计背后的思维体现. Object类位于ja ...
- JDK源码解析之 java.lang.System
一个和系统环境进行交互的类. System不允许被实例化, 而且是一个final类 一.不能实例化 private System() {} 二.成员变量 public final static Inp ...
- JDK源码解析之 Java.lang.Compiler
Compiler类提供支持Java到本机代码编译器和相关服务.在设计上,它作为一个占位符在JIT编译器实现. 一.源码部分 public final class Compiler {private C ...
- JDK源码解析之 Java.lang.Byte
byte,即字节,由8位的二进制组成.在Java中,byte类型的数据是8位带符号的二进制数,以二进制补码表示的整数 取值范围:默认值为0,最小值为-128(-27);最大值是127(27-1) By ...
- JDK源码解析之 Java.lang.String
String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串.因 ...
- JDK源码解析之 Java.lang.Package
如果我们在Class对象上调用getPackage方法,就可以得到描述该类所在包的Package对象(Package类是在java.lang中定义的).我们也可以用包名通过调用静态方法getPacka ...
最新文章
- Java Code Convention Rules
- 【转】浅谈MS-SQL锁机制
- pm2 start 带参数_3款有海景天窗的国产SUV,最适合带女朋友看星星,首付3万拿下...
- javascript 刷新技巧
- HTML5截取视频第一帧作为预览图片
- c语言 指针 地址溢出,堆栈溢出,指针在C中
- 分享PMP真题回忆,出征软考高级项目管理师
- Unity插件——Odin使用心得(一)
- ramdump crash工具
- Au入门系列之五:轨道与轨道控制​
- 神奇的量子世界——量子纠缠(Matlab实现)
- [Vue.js] 使用 babel-polyfill 解决IE浏览器 正常使用
- linux虚拟机和电脑ping通(可上网)
- Python-QRCode使用
- 【Java面试题】有三个线程 t1,t2,t3,怎么确保它们按顺序执行?
- 喜欢喝咖啡的人注意了!
- 复现CVE-2022-10270(向日葵远程代码执行漏洞)
- web安全是什么?主要分为哪几部分?
- Java Swing中卡片布局
- 在电脑上,日语输入法怎么玩?
热门文章
- php7.0康乐安装_Ubuntu安装php7.0环境
- JAVA实现onvif的ptz控制_使用Onvif协议进行设备PTZ云台控制
- c语言几种排序方法的比较,基于C语言的几种排序方法比较.doc
- C语言 __FILE__ - C语言零基础入门教程
- mysql数据应用从入门_MYSQL数据库应用从入门到精通----读书笔记
- 运算符优先级与结合性
- html匹配属性正则表达式,正则表达式匹配html标签的属性值
- php://filter利用条件,浅谈php://filter技巧
- element upload预览_vue element upload实现图片本地预览
- zabbixdocker里的mysql_docker zabbix安装部署(数据库和web及zabbix服务都用docker版)