Codenameone showForm-java.lang.reflect.InvocationTargetException

Codenameone showForm-java.lang.reflect.InvocationTargetException,codenameone,invocationtargetexception,Codenameone,Invocationtargetexception,我有一个应用程序,前几天我正在工作-应用程序正在工作。 当我昨天尝试处理它时,一个初始屏幕给了我一个错误 java.lang.reflect.InvocationTargetException 当我调用s.showForm(“Main”,null)时 我正在使用win10和netbeans 8,这是最新的Codenameone插件-只是为了以防万一而重新安装 我不确定是什么导致了这个问题 谢谢你的建议 功能代码: public void autologin(final StateMachine

我有一个应用程序,前几天我正在工作-应用程序正在工作。 当我昨天尝试处理它时,一个初始屏幕给了我一个错误

java.lang.reflect.InvocationTargetException

当我调用s.showForm(“Main”,null)时

我正在使用win10和netbeans 8,这是最新的Codenameone插件-只是为了以防万一而重新安装

我不确定是什么导致了这个问题

谢谢你的建议

功能代码:

public void autologin(final StateMachine s,Form f)
{
    common.log("Login Auto Login");
    autologin=true;


    Hashtable hUserDetails = new Hashtable();        
    Hashtable hLoginDetails = new Hashtable();

    hUserDetails = common.readHashtable(constant.getStoreUserDetails());
    hLoginDetails = common.readHashtable(constant.getStoreLoginDetails());

        if ( hUserDetails!= null && hLoginDetails != null )
        {
            common.log("Login Check for sessionToken : " + hLoginDetails.get("sessionToken".toString()) );
            String SavedSessionToken = hLoginDetails.get("sessionToken".toString()).toString(); 
            common.log("SavedSessionToken : " + SavedSessionToken );
            if ( SavedSessionToken.length() > 1  )
            {   
                common.log("Login execute userLogin");
                common.log("Call UserLogin user : "+hUserDetails.get("username").toString());
                common.log("Call UserLogin pass:  "+ hUserDetails.get("password").toString());
                UserLogin( s, hUserDetails.get("username").toString(), hUserDetails.get("password").toString(),1);

            }else{
                common.log("Login sessionToken not found - show Main");
                s.showForm("Main",null);
            }

        }else{
            common.log("Login hUserDetails - null; redirect to Main");
            try{
                s.showForm("Main",null);
            }catch (Exception e ){
                common.log("autologin showForm Exception "+e );            
            }

        }

}        
错误消息

    java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at com.codename1.impl.javase.Executor$1$1.run(Executor.java:100)
  at com.codename1.ui.Display.processSerialCalls(Display.java:1148)
  at com.codename1.ui.Display.mainEDTLoop(Display.java:965)
  at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120)
  at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
Caused by: java.lang.NullPointerException
  at userclasses.StateMachine.postMain(StateMachine.java:221)
  at generated.StateMachineBase.postShow(StateMachineBase.java:1844)
  at com.codename1.ui.util.UIBuilder.postShowImpl(UIBuilder.java:2598)
  at com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2516)
  at com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2561)
  at userclasses.Login.autologin(Login.java:249)
  at userclasses.StateMachine.postSplash(StateMachine.java:539)
  at generated.StateMachineBase.postShow(StateMachineBase.java:1820)
  at com.codename1.ui.util.UIBuilder.postShowImpl(UIBuilder.java:2598)
  at com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2516)
  at com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2561)
  at generated.StateMachineBase.startApp(StateMachineBase.java:66)
  at generated.StateMachineBase.<init>(StateMachineBase.java:31)
  at generated.StateMachineBase.<init>(StateMachineBase.java:118)
  at userclasses.StateMachine.<init>(StateMachine.java:53)
  at com.degmorinc.app.Degmor.DegmorIncSupport.start(DegmorIncSupport.java:20)
  ... 9 more
Java Result: 1
java.lang.reflect.InvocationTargetException
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
位于com.codename1.impl.javase.Executor$1$1.run(Executor.java:100)
位于com.codename1.ui.Display.processSerialCalls(Display.java:1148)
位于com.codename1.ui.Display.mainEDTLoop(Display.java:965)
位于com.codename1.ui.runnablerrapper.run(runnablerrapper.java:120)
位于com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
原因:java.lang.NullPointerException
位于userclasses.StateMachine.postMain(StateMachine.java:221)
在generated.StateMachineBase.postShow(StateMachineBase.java:1844)
位于com.codename1.ui.util.UIBuilder.postShowImpl(UIBuilder.java:2598)
在com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2516)上
在com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2561)
位于userclasses.Login.autologin(Login.java:249)
位于userclasses.StateMachine.postSplash(StateMachine.java:539)
在generated.StateMachineBase.postShow(StateMachineBase.java:1820)
位于com.codename1.ui.util.UIBuilder.postShowImpl(UIBuilder.java:2598)
在com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2516)上
在com.codename1.ui.util.UIBuilder.showForm(UIBuilder.java:2561)
在生成的.StateMachineBase.startApp处(StateMachineBase.java:66)
在生成的.StateMachineBase中。(StateMachineBase.java:31)
在生成的.StateMachineBase中。(StateMachineBase.java:118)
位于userclasses.StateMachine.(StateMachine.java:53)
位于com.degmorinc.app.Degmor.DegmorIncSupport.start(DegmorIncSupport.java:20)
... 9更多
Java结果:1

StateMachine类的第221行有什么内容?第221行很常见。log(“postMain-登录前”);我不确定哪里出了问题,但昨天它开始工作了。我无法解释发生了什么以及是什么导致了问题。您的
StateMachine
类的第221行是什么?第221行很常见。log(“postMain-登录前”);我不确定哪里出了问题,但昨天它开始工作了。我无法解释发生了什么,以及是什么导致了问题。