【问题标题】:Unknown Exception/Error in JavaFX FXML 2.2JavaFX FXML 2.2 中的未知异常/错误
【发布时间】:2014-01-15 05:52:09
【问题描述】:

我正在使用 NetBeans 7.3.1JavaFX 2.2。

我收到一个错误,上面写着“2”(不像NullPointerException 等)。当我更改一些二维数组值时,错误是其他数字。

堆栈跟踪:

使用平台 D:\Java\jdk1.7.0_25/bin/java 从(我的项目路径).jar 执行 com.javafx.main.Main

2 这是我的错误。有时 6,5 等

file:/(my project path).jar!/<project name>/SelectionWindow.fxml

at <project name>.SelectionWindowController.attachBrandImagesAndNamesToTiles(SelectionWindowController.java:92)
  at <project name>.SelectionWindowController.initialize(SelectionWindowController.java:33)

  at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2152) 
  at ..... all the trailing trace

解释一下这个错误以及如何解决它。

【问题讨论】:

  • 你能提供完整的堆栈跟踪吗?

标签: java exception nullpointerexception javafx


【解决方案1】:

这很难说。堆栈跟踪显示第 92 行的错误,即:

brandNames[i][j] = new Label(DataInterface.getBrandName(i, j));

javafx.scene.control.Label 构造函数似乎没有抛出任何异常(参见http://docs.oracle.com/javafx/2/api/javafx/scene/control/Label.html#Label%28java.lang.String%29)。我会说

  • 在整个内循环周围放置一个 try/catch 块。
  • 在catch语句中,使用反射找出异常的具体类类型是什么(不知道的回帖,我给你写代码)
  • 然后还写出捕获异常的消息。

【讨论】:

    【解决方案2】:

    好吧,看到异常是从这一行抛出的:

    brandNames[i][j] = new Label(DataInterface.getBrandName(i, j));
    

    假设您的数组元素超出范围可能是合理的,这会导致它抛出 OutOfBoundsException 2,例如,如果您尝试从数组中访问元素 2,但例如它只有 1 个元素。

    如果没有完整的堆栈跟踪,很难确定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-14
      相关资源
      最近更新 更多