如何解决GWT / JAVA未捕获的异常已逃脱
| 我的代码有问题,我似乎无法解决。我想在提交按钮时向Java / GWT中的数组列表添加一些客户数据。 我从中添加数据的形式。ok.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
if (!voornaamTB.getText().equalsIgnoreCase(\"\") && !achternaamTB.getText().equalsIgnoreCase(\"\") && !emailTB.getText().equalsIgnoreCase(\"\") && !geboortedatumTB.getText().equalsIgnoreCase(\"\")) {
boolean addVG;
System.out.println(voornaamTB.getText());
System.out.println(tussenvoegselTB.getText());
System.out.println(achternaamTB.getText());
System.out.println(emailTB.getText());
System.out.println(geboortedatumTB.getText());
--> the error is generated here addVG = VGC.addVakantieganger(voornaamTB.getText(),tussenvoegselTB.getText(),achternaamTB.getText(),emailTB.getText(),geboortedatumTB.getText());
if (addVG) {
Window.alert(\"Vakantieganger toegevoegd.\");
} else {
Window.alert(\"Vakantieganger niet toegevoegd.\");
}
} else {
voornaamTB.addStyleName(\"invalide-TextBox\");
tussenvoegselTB.addStyleName(\"invalide-TextBox\");
achternaamTB.addStyleName(\"invalide-TextBox\");
emailTB.addStyleName(\"invalide-TextBox\");
geboortedatumTB.addStyleName(\"invalide-TextBox\");
}
}
});
控制器类。
import java.util.ArrayList;
import com.vakantievibes.client.domein.Vakantieganger;
public class VakantiegangerController {
private String msg;
private ArrayList<Vakantieganger> vakantiegangers = new ArrayList<Vakantieganger>();
public VakantiegangerController(){
}
@SuppressWarnings(\"static-access\")
public boolean heeftVakantieganger(String email) {
boolean result = false;
for (Vakantieganger v : vakantiegangers) {
if (v.getEmail().equalsIgnoreCase(email)){
result = true;
}
}
return result;
}
public boolean addVakantieganger(String voornaam,String tussenvoegsel,String achternaam,String email,String geboortedatum) {
//boolean result = false;
//if (!heeftVakantieganger(email)) {
Vakantieganger v = new Vakantieganger(voornaam,tussenvoegsel,achternaam,email,geboortedatum);
vakantiegangers.add(v);
boolean result = true;
System.out.println(\"klant toegevoegd\");
//}
return result;
}
}
使用方法addVakantieganger,应将数据添加到arraylist中。但似乎并没有做到这一点,因此应将真实情况报告给表单。 !heeftVakantieganger(电子邮件)应该检查此人是否已经在数组列表中,但出于测试目的而被禁用
我在日食中收到的错误。
14:17:03.207 [ERROR] [vakantie_vibes] Uncaught exception escaped
com.google.gwt.event.shared.UmbrellaException: One or more exceptions caught,see full set in UmbrellaException#getCauses
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:129)
at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:124)
at com.google.gwt.event.dom.client.DomEvent.fireNativeEvent(DomEvent.java:116)
at com.google.gwt.user.client.ui.Widget.onbrowserEvent(Widget.java:172)
at com.google.gwt.user.client.DOM.dispatchEventImpl(DOM.java:1321)
at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1277)
at sun.reflect.GeneratedMethodAccessor19.invoke(UnkNown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.Methoddispatch.invoke(Methoddispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
at com.google.gwt.dev.shell.browserChannelServer.reactToMessagesWhileWaitingForReturn(browserChannelServer.java:326)
at com.google.gwt.dev.shell.browserChannelServer.invokeJavascript(browserChannelServer.java:207)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
at sun.reflect.GeneratedMethodAccessor16.invoke(UnkNown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.Methoddispatch.invoke(Methoddispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
at com.google.gwt.dev.shell.browserChannelServer.reactToMessages(browserChannelServer.java:281)
at com.google.gwt.dev.shell.browserChannelServer.processConnection(browserChannelServer.java:531)
at com.google.gwt.dev.shell.browserChannelServer.run(browserChannelServer.java:352)
at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.NullPointerException: null
at com.vakantievibes.client.GUI.FormToevoegenVakantieganger$8.onClick(FormToevoegenVakantieganger.java:153)
at com.google.gwt.event.dom.client.ClickEvent.dispatch(ClickEvent.java:54)
at com.google.gwt.event.dom.client.ClickEvent.dispatch(ClickEvent.java:1)
at com.google.gwt.event.shared.GwtEvent.dispatch(GwtEvent.java:1)
at com.google.web.bindery.event.shared.SimpleEventBus.doFire(SimpleEventBus.java:193)
at com.google.web.bindery.event.shared.SimpleEventBus.fireEvent(SimpleEventBus.java:88)
at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.java:127)
at com.google.gwt.user.client.ui.Widget.fireEvent(Widget.java:124)
at com.google.gwt.event.dom.client.DomEvent.fireNativeEvent(DomEvent.java:116)
at com.google.gwt.user.client.ui.Widget.onbrowserEvent(Widget.java:172)
at com.google.gwt.user.client.DOM.dispatchEventImpl(DOM.java:1321)
at com.google.gwt.user.client.DOM.dispatchEvent(DOM.java:1277)
at sun.reflect.GeneratedMethodAccessor19.invoke(UnkNown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.Methoddispatch.invoke(Methoddispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
at com.google.gwt.dev.shell.browserChannelServer.reactToMessagesWhileWaitingForReturn(browserChannelServer.java:326)
at com.google.gwt.dev.shell.browserChannelServer.invokeJavascript(browserChannelServer.java:207)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
at sun.reflect.GeneratedMethodAccessor16.invoke(UnkNown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.Methoddispatch.invoke(Methoddispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
at com.google.gwt.dev.shell.browserChannelServer.reactToMessages(browserChannelServer.java:281)
at com.google.gwt.dev.shell.browserChannelServer.processConnection(browserChannelServer.java:531)
at com.google.gwt.dev.shell.browserChannelServer.run(browserChannelServer.java:352)
at java.lang.Thread.run(Thread.java:679)
解决方法
由于使用了所有变量,因此此时只有
VGC
可以是null
。
但是我怀疑这是一个班级名称。我的第一个猜测是类型“ 3”是服务器API的一部分,而不是客户端API或类似的东西。
, 您得到NullPointerException
。发生这种情况是因为您使用的参考是null
。在您的情况下,这是您标记的行中的字段之一。
使用调试器,在该行上放置一个断点,并检查null
中的哪个字段。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。