解决出现 java.lang.ExceptionInInitializerError错误问题
解决出现 java.lang.ExceptionInInitializerError错误问题
今天启动一个项目... 在启动的时候报错... 查了半天错误信息 一直是说hibernate缓存管理出错..
最后查看启动时候的log 发现在程序中报Java.lang.ExceptionInInitializerError
查看原因 最后是因为自己修改了静态常量是系统启动的时候自动获取properties值 结果获取错误 导致其在代码编译的时候造成出错
错误代码:
public static final String message = getMessage("ok_oj");
原因分析:
message是一个静态常量. 在系统编译此类的时候 首先会加载静态常量 存放到 内存静态域之中.
但是因为在启动的时候getMessage返回一个null 使其导致报错java.lang.ExceptionInInitializerError
下面再说java.lang.ExceptionInInitializerError这个错误提示
之前很少碰到之类异常信息提示 于是网上搜索了下 这个错误表示初始化异常和空指针错误
查看API 其是这样描述此异常的
静态初始化程序中发生意外异常的信号。抛出 ExceptionInInitializerError 表明在计算静态初始值或静态变量的初始值期间发生异常。
public class ExceptionInInitializerErrorextends LinkageError
可以看出 他是继承于LinkageError
对于LinkageError有给出了描述 显而易见的指出了问题的所在
LinkageError 的子类指示一个类在一定程度上依赖于另一个类;但是,在编译前一个类之后,后一个类发生了不相容的改变。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关推荐
-
浅谈java中异常抛出后代码是否会继续执行
问题 今天遇到一个问题,在下面的代码中,当抛出运行时异常后,后面的代码还会执行吗,是否需要在异常后面加上return语句呢? public void add(int index, E element){ if(size >= elements.length) { throw new RuntimeException("顺序表已满,无法添加"); //return; //需要吗? } .... } 为了回答这个问题,我编写了几段代码测试了一下,结果如下: //代码1 public
-
Android studio报: java.lang.ExceptionInInitializerError 错误
一.问题描述 Android studio导入一个项目报一堆错误: Process: xhs.com.xhswelcomeanim, PID: 1416 Java.lang.ExceptionInInitializerError at com.werb.gankwithzhihu.ui.fragment.ZhihuFragment.createPresenter(ZhihuFragment.java:33) at com.werb.gankwithzhihu.ui.fragment.ZhihuF
-
详解Java异常处理中throw与throws关键字的用法区别
抛出异常 抛出异常有三种形式,一是throw,一个throws,还有一种系统自动抛异常.下面它们之间的异同. 系统自动抛异常 当程序语句出现一些逻辑错误.主义错误或类型转换错误时,系统会自动抛出异常.如: public static void main(String[] args) { int a = 5, b =0; System.out.println(5/b); //function(); } 系统会自动抛出ArithmeticException异常: Exception in threa
-
Java java.lang.ExceptionInInitializerError 错误如何解决
Java java.lang.ExceptionInInitializerError 错误如何解决 引起 Java.lang.ExceptionInInitializerError 错误的原因是:在类的初始化时,出错.也就是说,在加载类时,执行static的属性.方法块时,出错了. 比如 public class AA { private static AA aa = new AA(); private AA(){//构造方法 init(); } public void init(){ ...
-
Java编程中使用throw关键字抛出异常的用法简介
throw抛出异常的方式比较直接: if(age < 0){ throw new MyException("年龄不能为负数!"); } 来看一个例子: package Test; public class Test2 { public static void main(String[] args) { String s = "abc"; if(s.equals("abc")) { throw new NumberFormatExceptio
-
简单了解Java编程中抛出异常的方法
任何Java代码都可以抛出异常,如:自己编写的代码.来自Java开发环境包中代码,或者Java运行时系统.无论是谁,都可以通过Java的throw语句抛出异常.从方法中抛出的任何异常都必须使用throws子句. 1. throws抛出异常 如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法声明处用throws子句来声明抛出异常.例如汽车在运行时可能会出现故障,汽车本身没办法处理这个故障,那就让开车的人来处理. throws语句用在方法定义时声明该方法要抛出的异常类型,如果抛出的是Ex
-
深入探讨JAVA中的异常与错误处理
异常与错误: 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异常类代表了不同的异常.但是在Java中所有的异常都有一个基类,叫做Exception. 错误: 它指的是一个合理的应用程序不能截获的严重的问题.大多数都是反常的情况.错误是VM的一个故障(虽然它可以是任何系统级的服务).
-
java.lang.ExceptionInInitializerError异常的解决方法
今天在开发的过程中,遇到java.lang.ExceptionInInitializerError异常,百度查了一下,顺便学习学习,做个笔记 静态初始化程序中发生意外异常的信号,抛出ExceptionInInitializerError表明在计算静态初始值或静态变量的初始值期间发生异常. 要理解这个异常从Java类中的静态变量初始化过程说起,在Java类中静态变量的初始化顺序和静态变量的声明顺序是一致的.示例程序为: package com.lang.ininitialException; im
-
Java中避免空指针异常的方法
没人会喜欢空指针异常!有什么方法可以避免它们吗?或许吧.. 本文将讨论到以下几种技术 1.Optional类型(Java 8中新引入的) 2.Objects类(Java 7中原有的) Java 8中的Optional类 它是什么? 1.Java 8中新引入的类型 2.它是作为某个指定类型的对象的包装器或者用于那些不存在对象(null)的场景 简单来说,它是处理空值的一个更好的替代品(警告:乍一看可能并没有那么明显) 基本用法 它是一种类型(一个类)--那么,怎么才能创建一个这个类型的实例? 使用
-
启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法
一.问题描述 今天一来公司,在IntelliJ IDEA 中启动Tomcat服务器时就出现了如下图所示的错误: 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is: java.net.BindException: Address already in use: JVM_Bind 这里说的是1099端口被其它进程占用了. 二.解决办法 找出占用1099端口的进程,
随机推荐
- Cisco路由器和H3C交换设备ARP病毒快速解决办法
- 利用js给DropdownList赋值实例
- Spring Bean的生命周期详细介绍
- SpringBoot中自定义注解实现控制器访问次数限制实例
- .Net中的序列化和反序列化详解
- 利用js判断浏览器类型(是否为IE,Firefox,Opera浏览器)
- .NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法
- PHP的Yii框架中创建视图和渲染视图的方法详解
- Zend Framework框架路由机制代码分析
- JS正则表达式之非捕获分组用法实例分析
- 详细讲解Python中的文件I/O操作
- ThinkPHP实现简单登陆功能
- DevExpress之ChartControl的SeriesTemplate实例
- PHP指定截取字符串中的中英文或数字字符的实例分享
- 微信小程序 扎金花简单实例
- php开启与关闭错误提示适用于没有修改php.ini的权限
- 在ASP.NET 2.0中操作数据之四十一:DataList和Repeater数据分页
- Java编程异常简单代码示例
- pyqt5移动鼠标显示坐标的方法
- PyCharm-错误-找不到指定文件python.exe的解决方法