代码之家  ›  专栏  ›  技术社区  ›  Adam Outler

初始值设定项错误中出现异常

  •  56
  • Adam Outler  · 技术社区  · 15 年前

    线程main中的异常发生在窗体甚至是初始化对象之前。形式甚至还不是一个对象。我的每一行 main()

    这是你的名字 错误

        Exception in thread "main" java.lang.ExceptionInInitializerError
            at obd2ner.main(obd2ner.java:26)
    Caused by: java.lang.ClassCastException
            at java.lang.Class.cast(Class.java:2990)
            at org.jdesktop.beansbinding.Binding.convertForward(Binding.java:1312)
            at org.jdesktop.beansbinding.Binding.getSourceValueForTarget(Binding.java:844)
            at org.jdesktop.beansbinding.Binding.refreshUnmanaged(Binding.java:1222)
            at org.jdesktop.beansbinding.Binding.refresh(Binding.java:1207)
            at org.jdesktop.beansbinding.AutoBinding.tryRefreshThenSave(AutoBinding.java:162)
            at org.jdesktop.beansbinding.AutoBinding.bindImpl(AutoBinding.java:199)
            at org.jdesktop.beansbinding.Binding.bindUnmanaged(Binding.java:959)
            at org.jdesktop.beansbinding.Binding.bind(Binding.java:944)
            at org.jdesktop.beansbinding.BindingGroup.bind(BindingGroup.java:143)
            at OBD2nerForm.initComponents(OBD2nerForm.java:731)
            at OBD2nerForm.<init>(OBD2nerForm.java:75)
            at Status.<clinit>(Status.java:41)
            ... 1 more
    Java Result: 1
    

    OBD2nerForm 线 731 bindingGroup.bind(); pack();

    中的例外 主() 甚至看起来都不相关,因为它发生在程序运行时,每次我注释掉一行,它就会跳到下一行

            public void actionPerformed(ActionEvent evt) {
                jFormattedTextField2ActionPerformed(evt);
            }
        });
    
        jLabel8.setText("Data In Que:");
    
        jLabel9.setFont(new Font("DejaVu Sans", 0, 14));
        jLabel9.setText("FFFFFFFFFFFFFFFFFFFF");
    
        GroupLayout jPanel5Layout = new GroupLayout(jPanel5);
        jPanel5.setLayout(jPanel5Layout);
        jPanel5Layout.setHorizontalGroup(
            jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
            .add(jPanel5Layout.createSequentialGroup()
                .add(jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
                    .add(jPanel5Layout.createSequentialGroup()
                        .add(19, 19, 19)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jLabel7)
                            .add(jLabel5)
                            .add(jLabel6))
                        .add(18, 18, 18)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
                            .add(GroupLayout.TRAILING, jFormattedTextField1, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(GroupLayout.TRAILING, jCheckBox1)
                            .add(GroupLayout.TRAILING, jCheckBox11))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jFormattedTextField2, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(jCheckBox12)
                            .add(jCheckBox2))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jFormattedTextField3, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(jCheckBox13)
                            .add(jCheckBox3))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jFormattedTextField4, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(jCheckBox14)
                            .add(jCheckBox4))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jFormattedTextField5, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(jCheckBox15)
                            .add(jCheckBox5))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jFormattedTextField6, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(jCheckBox16)
                            .add(jCheckBox6))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jFormattedTextField7, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(jCheckBox17)
                            .add(jCheckBox7))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jFormattedTextField8, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(jCheckBox18)
                            .add(jCheckBox8))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
                            .add(GroupLayout.TRAILING, jFormattedTextField9, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
                            .add(GroupLayout.TRAILING, jCheckBox19)
                            .add(GroupLayout.TRAILING, jCheckBox9))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
                            .add(jCheckBox20)
                            .add(jCheckBox10)
                            .add(jFormattedTextField10, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)))
                    .add(jPanel5Layout.createSequentialGroup()
                        .add(4, 4, 4)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
                            .add(jPanel5Layout.createSequentialGroup()
                                .add(jLabel8)
                                .addPreferredGap(LayoutStyle.RELATED)
                                .add(jLabel9, GroupLayout.PREFERRED_SIZE, 256, GroupLayout.PREFERRED_SIZE))
                            .add(jSeparator1, GroupLayout.PREFERRED_SIZE, 474, GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .add(GroupLayout.TRAILING, jPanel5Layout.createSequentialGroup()
                .addContainerGap(346, Short.MAX_VALUE)
                .add(jToggleButton3, GroupLayout.PREFERRED_SIZE, 132, GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        jPanel5Layout.setVerticalGroup(
            jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
            .add(jPanel5Layout.createSequentialGroup()
                .addContainerGap()
                .add(jPanel5Layout.createParallelGroup(GroupLayout.BASELINE)
                    .add(jLabel5)
                    .add(jFormattedTextField1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(jFormattedTextField10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(LayoutStyle.RELATED)
                .add(jSeparator1, GroupLayout.PREFERRED_SIZE, 0, GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(LayoutStyle.RELATED)
                .add(jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
                    .add(jCheckBox3)
                    .add(jCheckBox1)
                    .add(jCheckBox2)
                    .add(jCheckBox4)
                    .add(jCheckBox5)
                    .add(jCheckBox6)
                    .add(jCheckBox7)
                    .add(jCheckBox8)
                    .add(jCheckBox9)
                    .add(jLabel6)
                    .add(jCheckBox10))
                .addPreferredGap(LayoutStyle.RELATED)
                .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                    .add(jPanel5Layout.createParallelGroup(GroupLayout.LEADING)
                        .add(jLabel7)
                        .add(jPanel5Layout.createParallelGroup(GroupLayout.TRAILING)
                            .add(jCheckBox13)
                            .add(jCheckBox12)
                            .add(jCheckBox11)
                            .add(jCheckBox14)
                            .add(jCheckBox15)
                            .add(jCheckBox16)
                            .add(jCheckBox17)
                            .add(jCheckBox18)
                            .add(jCheckBox19)))
                    .add(jCheckBox20))
                .addPreferredGap(LayoutStyle.RELATED, 42, Short.MAX_VALUE)
                .add(jPanel5Layout.createParallelGroup(GroupLayout.BASELINE)
                    .add(jToggleButton3)
                    .add(jLabel8)
                    .add(jLabel9))
                .addContainerGap())
        );
    
        jTabbedPane1.addTab("tab6", jPanel5);
    
        add(jTabbedPane1, BorderLayout.CENTER);
    
        bindingGroup.bind();
    
        pack();
    }// </editor-fold>       
    

    编辑: 似乎都是我摸不着的密码。我应该补充一点,这是从 网虫 添加大约200个无效导入 import jCheckbox1 我删除了。

    4 回复  |  直到 4 年前
        1
  •  123
  •   Christian Ullenboom    15 年前

    如果静态初始值设定项块出错,则会出现ExceptionInInitializerRor。

    class C
    {
      static
      {
         // if something does wrong -> ExceptionInInitializerError
      }
    }
    

    class C
    {
      static int v = D.foo();
    }
    

    class C
    {
      static int v;
    
      static
      {
        v = D.foo();
      }
    }
    

    因此,如果foo()变得异常,则会出现异常inInitializerError。

        2
  •  13
  •   Utsav    10 年前

    class SomeClass{
      //Code snippet here...
    }
    

    static void m1(){
            try{
                throw new Exception();
            } catch(Exception e){
                System.out.println(e);
            }
    }
    static{
            m1();
    }
    

    代码段2:无法编译-未报告的检查异常

    static void m1() throws Exception{
            throw new Exception();
    }
    static{
            m1();
    }
    

    代码段3:确定(请参见代码段1)

    static void m1() throws Exception{
            throw new Exception();
    }
    static{
            try{m1();}
            catch(Exception e){
                System.out.println(e);
                //or whatever
            }
    }
    

    代码段4:编译错误,initilizer必须能够正常完成

    static{
            throw new RuntimeException();
    }
    

    基本上可以归结为:

    1. 在静态块中,每个选中的异常都必须有一个处理程序。
    2. 如果发生RuntimeException,它将被包装在ExceptionInInitializerError中,然后抛出后者。

    这是有意义的,因为类应该能够正常完成初始化。如果这恰好是一个问题,则应将其归类为错误(通常很难或不可能从中恢复),而不是异常(通常是可恢复的)。。。

        3
  •  4
  •   Stephen C    14 年前

    我猜 OBD2nerForm

    我将做以下操作来尝试诊断:

    • Google搜索NetBeans生成的表单出现类似问题的报告。
    • 试着从表单设计中删去一些东西,直到问题“消失”。。。试着找出真正的原因是什么。

    我的怀疑是,根本原因是表单设计有点不寻常(或不正确)和NetBeans表单生成器中不适合处理表单的bug的结合。如果你能弄清楚,一个变通方法可能会暴露出来。

        4
  •  3
  •   Jeroen Steenbeeke Karan    4 年前

    我发现我被绑住了 jFormattedCheckBox1.foreground jCheckBox1[${selected}] .... 这就是问题所在。谢谢你的帮助。

    似乎一种颜色不应该和一种颜色绑定在一起 boolean . 我想装订是一种 高级功能

    我通过删除所有控件,然后运行,然后撤消,然后一次删除一个来发现问题。当我发现有问题的控件时,我检查了属性。

        5
  •  0
  •   Amir Forsati    6 年前

    Throwable.getCause() 知道什么是错的。

        6
  •  0
  •   CoolMind    5 年前

    Retrofit 最近已更新到2.7.1版本。之后 Android 4.x https://stackoverflow.com/a/60071876/2914140 .

    改造 至2.6.4。

        7
  •  0
  •   Aroop Pattanaik    5 年前

    确保项目没有任何错误。从工作区中删除项目(使工作区与git文件夹的目录不同),然后再次导入。

        8
  •  0
  •   Chandrahasan    4 年前

    我得到同样的错误,这是由于老龙目版本。 检查并更新Lombok版本, 龙目湖的变化

    v1.18.4-对lombok的JDK10/11支持进行了许多改进。