¿Como funciona?
El código que puede generar la excepción debe encerrarse dentro de un bloque try
try { // Código que puede generar la excepción }
A continuación, la excepción se captura con un bloque catch
catch (Exception e) { // Código para tratar el error }
Aquí les dejo el código de un Inicio de Sesión con manejo de excepciones:
package basico; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; /*java.io.IOException es una clase java que tiene por objetivo señalar que ha ocurrido algun tipo error de entrada o salida de datos, java crea un objeto de esta clase que representa ese error. */ import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.WindowConstants; import javax.swing.JPasswordField; import javax.swing.JLabel; public class excepcion { private JFrame ven; private JButton but; private JTextField text1; private JPasswordField text2; private JLabel text3; public static void main (String args[]){ new excepcion(); } public excepcion(){ ven = new JFrame("Iniciar sesion"); ven.getContentPane().setLayout(new FlowLayout()); text1 = new JTextField(10); text2 = new JPasswordField(10); ven.getContentPane().add(text1); ven.getContentPane().add(text2); but = new JButton("Pulsar"); ven.getContentPane().add(but); text3 = new JLabel();// 3 ven.getContentPane().add(text3); //************************* // boton but.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ Usuario u = new Usuario(); u.usuario =text1.getText(); u.clave = text2.getText(); // manejo de excepciones try{ if(u.Login()) { text3.setText("sesion iniciada"); }else { text3.setText("Datos incorrectos"); } } catch(Exception ex){ text3.setText(ex.toString()); } } }); //********PARA QUE SEA VISIBLE *********** ven.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); ven.pack(); ven.setVisible(true); } class Usuario { String usuario, clave; public boolean Login() throws Exception { if(usuario.length() == 0) throw new Exception("No se especifico un usuario"); if(clave.length() == 0) throw new Exception("No se especifico un clave"); // login password if(usuario.equals("admin") && clave.equals("programando")) { return true; }else { return false; } } } // FIN USUARIO }
exlenete blog necesito un favor: tengo una aplicacion con acceso a base de datos sqlserver y con inicio de sesion segun la tabla y la columnas password y nombre de la base de datos lo que necesito saber, es como cuando me verifica bien los datos y entro a mi aplicacion tengo un JMenuBar q tiene configuracion de usuarios este me lleva a un JCombobox donde tiene todas las bases de datos del SGBD. y que cuando seleccione una base de datos del combo me cambie de la base de datos que estoy predeterminada???? porfavor no consigo solucion hace mucho pero mucho tiempo tengo este problema
ResponderEliminar