java - 仅当没有抛出异常时如何执行代码块

标签 java exception try-catch

我有一部分代码,如果捕获到异常,我想在 JOptionPane 中显示包含异常详细信息的消息。该异常错误正在正确显示。

我还想显示“成功”消息,前提是预期的过程成功并且没有捕获异常。但即使捕获到异常,也会显示此成功消息。

观察以下代码中 catch block 内外的 JOptionPane 语句。

private void submitBtnActionPerformed(java.awt.event.ActionEvent evt) {                                                  
    saveToDataBase();        
}                                         

public void saveToDataBase(){
    try{
    String url = "jdbc:mysql://localhost:3306/employee?autoReconnect=true&useSSL=false";
    String uname = "root";
    String pass = "password";
    String query = "insert into emp values (";
    Connection con = DriverManager.getConnection(url,uname,pass);
    Statement st = con.createStatement();

    query += idTextField.getText() + "," + fNameTextField.getText() + "," + lNameTextField.getText() + ")";
     st.executeUpdate(query);
    } 

   catch (SQLException ex) {
        Logger.getLogger(AddFrame.class.getName()).log(Level.SEVERE, null, ex);
        JOptionPane.showMessageDialog(null, ex, "Error", JOptionPane.ERROR_MESSAGE);
    }

    JOptionPane.showMessageDialog(null, "The data has been saved successfully!!", "Success", JOptionPane.INFORMATION_MESSAGE);

}

最佳答案

将此行移至 try-catch block 中

JOptionPane.showMessageDialog(null, "The data has been saved successfully!!", "Success", JOptionPane.INFORMATION_MESSAGE);

由于此行已从您的 try-catch 中排除 - 在处理异常后,同一行将再次执行。

关于java - 仅当没有抛出异常时如何执行代码块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52256892/

相关文章:

java - 逻辑排序的比赛装置

java.text.ParseException : Unparseable date "yyyy-MM-dd' T'HH:mm:ss. SSSZ"- SimpleDateFormat

javascript - 如何从图像加载中捕获异常

java - 如何将 Maven 配置文件值注入(inject)属性文件

java - 需要帮助确定扑克牌(一对)

exception - 查找 Haskell 异常的来源

node.js - 在 NodeJS 中优雅地处理子进程中的错误

java - try-catch怎么写?

java - 在 Java 中简化 try/catch 的方法

java - 有没有办法将 Object[] 数组转换为 char[] 数组?