我有一部分代码,如果捕获到异常,我想在 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/