GWT/JAVA 未捕获的异常转义

2024-05-21

我的代码有问题,但似乎无法修复它。我想在提交按钮时将一些客户数据添加到 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 方法,它应该将数据添加到数组列表中。但它似乎并没有这样做,然后它应该将 true 报告回表单。 !heeftVakantieganger(email) 应该检查该人是否已经在数组列表中,但现在出于测试目的被禁用

我在 Eclipse 中收到的错误。

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)

你得到一个NullPointerException。发生这种情况是因为您使用的引用是null。在您的情况下,这是您标记的行中的字段之一。

使用调试器,在该行上放置一个断点,然后检查其中的哪个字段null.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GWT/JAVA 未捕获的异常转义 的相关文章

随机推荐

  • 从目录中读取所有文件内容 - php

    这实际上是一个简单的任务 我想显示指定文件夹中所有文件的内容 我正在传递目录名称 echo a href row qname a 在第二页上 我正在迭代目录内容 while entryname readdir myDirectory if
  • sklearn LogisticRegressionCV 是否使用最终模型的所有数据

    我想知道sklearn中LogisticRegressionCV的最终模型 即决策边界 是如何计算的 假设我有一些 Xdata 和 ylabels Xdata shape of this is n samples n features yl
  • 警告:找不到模板 /usr/local/git/share/git-core/templates

    我收到这个错误警告 找不到模板 usr local git share git core templates当我在本地存储库中克隆存储库时这个链接 https github com zikula modules Scribite issue
  • scrollWidth/scrollHeight 给出无效尺寸

    如所述https developer mozilla org en Determining the dimensions of elements https developer mozilla org en Determining the
  • Eclipse RCP 产品配置中的“添加所需插件”按钮?

    我不太明白当我在 Eclipse RCP 中进行产品配置时 哪些插件构成了依赖项列表 以及 添加所需插件 按钮到底有什么作用 为什么依赖项列表从一开始就不完整 为什么我必须使用该按钮 谢谢 当您开发 RCP 应用程序时 您指定 没有足够的插
  • Saxon XSLT 转换:转换期间失败时如何关闭输出流

    我想对多个输出文件进行 XSLT 转换 我在那里使用了 xsl 结果文档 当转换失败时 应删除所有输出文件 但是 如果由 xsl result document 创建的文档生成失败 我的程序将无法再删除该文档 我认为原因是 xsl resu
  • 父级嵌入框阴影与子级 div 重叠

    我遇到一个问题 子级 div 与父级框阴影底部重叠 父级有一个 max height w overflow y 滚动 任何帮助都会很棒 https i stack imgur com jQe0r png https i stack imgu
  • Rails 中的 Google freebusy api 调用无法识别参数

    我试图从我的主日历中查找所有空闲 忙碌时间 但我无法让查询识别我的参数 在我的控制器中我有 freetimes client execute api method gt service freebusy query parameters g
  • Chrome 扩展程序在“正在发布”中停止

    我已经上传成功了Test 仅暴露给测试者帐户 生产使用我的开发者帐户的 Google Chrome 扩展程序版本 在尝试将我们的 Chrome 扩展程序迁移到新创建的 Google 群组 以便能够协作发布不同版本等 后 问题出现了 现在 我
  • 可以将 self 传递给外部函数吗

    我有一个类 A 它被许多其他类继承 其中一些有一些相似的函数 如果能在其他地方定义这些函数并由需要它们的类调用 那就太好了 但这些函数调用超类中定义的函数 class A def imp func args called by the ch
  • Laravel 保存/更新多对多关系

    谁能帮助我如何保存多对多关系 我有任务 用户可以有很多任务 任务可以有很多用户 多对多 我想要实现的是更新表格管理员可以将多个用户分配给特定任务 这是通过 html 多选输入完成的 name taskParticipants 这里的问题是
  • 打印一个模式以显示最多 5 行 5 列的数字,例如 5 4 3 2 1 和下一行 4 3 2 1 5 直到第 5 行

    这是一个正方形图案 每行有 5 列 共有 5 行 图案如下所示 5 4 3 2 1 4 3 2 1 5 3 2 1 5 4 2 1 5 4 3 1 5 4 3 2 我的代码如下以获得模式 但当计数器达到 1 并显示在相应的列值中时 我无法重
  • 具有可变数量过滤器参数的 Django 查询

    我有一个 Django 查询 从MyModel基于某些条件 if beta MyModel object filter x alpha y beta else MyModel object filter x alpha 是否可以消除if b
  • python-social-auth 部分管道无法恢复

    我正在尝试使用 python social auth 的部分管道收集新用户的密码 由于某种未知的原因 我无法恢复管道 提交表单后页面呈现回密码收集页面 值得注意的是 即使我输入 http complete backend name 页面也会
  • 为什么 SORT_REGULAR 在 PHP 中产生不一致的结果?

    我正在开发一个类 它使 PHP 中的数组排序变得更容易 并且我一直在使用 SORT 常量 但是行为或SORT REGULAR 默认排序类型 似乎有所不同 具体取决于您在数组中添加项目的顺序 此外 我找不到任何模式来解释为什么会出现这种情况
  • NSMutableArray addObject: -[__NSArrayI addObject:]: 无法识别的选择器发送到实例

    我尝试从周日开始以 100 种方式初始化 NSMutableArray 但没有任何效果 我尝试将其设置为等于新分配和初始化的 NSMutableArray 只需分配并自行初始化变量 我能想到的每种组合都总是相同的结果 这是代码 Object
  • MATLAB 变量传递和惰性赋值

    我知道在 Matlab 中 当将新变量分配给现有变量时 会进行 惰性 评估 例如 array1 ones 1 1e8 array2 array1 的价值array1不会被复制到array2除非元素array2被修改 由此我推测Matlab中
  • 在 Django 中使用 Dajaxice 刷新表格

    我正在监测不同地点的温度 我将数据存储在模型中并设置了views py 但我想每 5 分钟刷新一次表 我是 ajax 和 dajaxice 的新手 如何编写该函数以使其显示在 html 中 这是我的观点 py def temperature
  • 增强 XML 解析复杂性 - c# XML 循环

    我正在编写自己的 C 自定义地图导航程序 我在用打开街道地图用于地图数据 它是一个包含节点和方法的大型 XML 文件 我编写了一个转换器 可以从 XML 文件中去除无用的垃圾 如时间戳 用户等 这样文件就会变得更小 现在 当我尝试循环 XM
  • GWT/JAVA 未捕获的异常转义

    我的代码有问题 但似乎无法修复它 我想在提交按钮时将一些客户数据添加到 java GWT 中的数组列表中 我从中添加数据的表单 ok addClickHandler new ClickHandler public void onClick