如何在JavaFX中使用try-catch?

如何在JavaFX中使用try-catch?,java,javafx,try-catch,Java,Javafx,Try Catch,我把这个项目作为一个学校项目来做,其中一个必须做的事情就是抓住用户做得不对的事情 我有这个卡片列表,用户可以在其中添加或删除卡片。我想在移除部分使用一个try catch-如果用户尝试移除其中一个默认卡(不是用户输入卡),它将显示一个错误 我想做的是通知用户一个标签,这是他不可能删除它。使用if-else很简单,但是如何使用try-catch呢 eemalda.setOnAction(new EventHandler<ActionEvent>() { public void

我把这个项目作为一个学校项目来做,其中一个必须做的事情就是抓住用户做得不对的事情

我有这个卡片列表,用户可以在其中添加或删除卡片。我想在移除部分使用一个try catch-如果用户尝试移除其中一个默认卡(不是用户输入卡),它将显示一个错误

我想做的是通知用户一个标签,这是他不可能删除它。使用if-else很简单,但是如何使用try-catch呢

eemalda.setOnAction(new EventHandler<ActionEvent>() {
    public void handle(final ActionEvent event) {
        if (((Kaardid) kaardid2.get(kaardid2.size() - 1))
                .getKaardi_nimi().contains("Ei pea jooma see ring")) { // after this if should be try-catch
            viimane_kaart.setText("Viimane sisestatud kaart on Baila originaalkaart");
        } else { // after this comes the other stuff program does
            kaardid2.remove(kaardid2.get(kaardid2.size() - 1));
            seadetemant.setVisible(false);
        }
    }
});
eemalda.setOnAction(新的EventHandler(){
公共无效句柄(最终操作事件){
if(((Kaardid)kaardid2.get(kaardid2.size()-1))
.getKaardi_nimi().contains(“Ei-pea-jooma-see-ring”){//在此之后,if应该是try-catch
viimane_kaart.setText(“viimane sisestatud kaart on Baila originaalkaart”);
}否则{//在这之后是程序所做的其他事情
kaardid2.remove(kaardid2.get(kaardid2.size()-1));
seadetemant.setVisible(假);
}
}
});
我不建议在您问题中描述的情况下使用a

另请参见Brian Roach对以下问题的回答:

例外情况应适用于例外情况;你不希望发生的事情。验证输入并不是很例外

处理UI中无效输入的最佳方法是:

  • 防止出现无效输入的情况
  • 如果无法预防,请立即对无效输入提供反馈
  • 对于您的示例情况,与其允许用户选择一张不可移动的卡,不如尝试将其移除,然后告诉他们无法移除,您可以:

  • 首先不允许他们选择不可移动的卡,或者
  • 如果选择了不可移动的卡,请禁用按钮或卡移除功能

  • 无论您使用哪个框架或包,在java中使用try-catch都是一样的。相同的try-catch语句

    try{
     // your code
     }
    
    catch(Exception e){
     // your code
    }