elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda sobre Exception Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre Exception Java  (Leído 5,575 veces)
carlitox18

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Duda sobre Exception Java
« en: 14 Mayo 2011, 15:06 pm »

Saludos a la comunidad espero me puedan ayudar y sacar de esta duda, soy nuevo en java, tengo una clase y metodos, este metodo uso un simple try catch... mi duda es si al hacer throw e; al momento de distribuir mi apliacion al capturar un error se mostrara en una ventana de dialogo y no en el  output de java. este es el codigo saludos y gracias.

Código:
    public int RegistraCliente(Cliente cliente) throws Exception
    {
        Connection con = null;
        int generatedId = -1;
        ResultSet rs = null;
        CallableStatement stmt = null;
       
        try {
            con = new Conexion().getConection();
            stmt = con.prepareCall("{call public.cliente_insert_usp (?,?,?,?,?,?,?,?)}");
            stmt.setString(1, cliente.getRazonsocial());
            stmt.setString(2, cliente.getNrodni());
            stmt.setString(3, cliente.getNroruc());
            stmt.setString(4, cliente.getDireccion());
            stmt.setDouble(5, cliente.getLimitecredito());
            stmt.setInt(6,cliente.getNroventas());
            stmt.setDate(7,cliente.getFecharegistro());
            stmt.setBoolean(8, cliente.getEstado());
            rs = stmt.executeQuery(); 
           
            if (rs.next())
            {
                generatedId = rs.getInt(1);
            }
        }
        catch (Exception e)
        {
            throw e;
        }
        finally
        {
            rs = null;
            if(stmt != null)
                con.close();
                con = null;
                stmt = null;
        }
       
        return generatedId;
    }




En línea

ShotgunLogic

Desconectado Desconectado

Mensajes: 233


Claws so razor sharp


Ver Perfil
Re: Duda sobre Exception Java
« Respuesta #1 en: 14 Mayo 2011, 17:10 pm »

Hombre, capturarlo para lanzarlo no tiene mucho sentido a no ser que vayas a cambiar algo, ¿no?

Normalmente cuando capturas un error es para tratarlo y hacer que el programa siga funcionando, por eso normalmente cuando se coge un error se suele poner un bucle para hacer que el usuario pueda repetir la operación o lo que sea.

Cuando deberías de mandar un error en el programa final es con las excepciones no comprobadas. Normalmente estas se usan cuando los errores se dan por fallos de tu programación, como que le pases el índice -1 a un array. De hecho, estos errores que te saltan cuando estas probando el programa los ha añadido un programador que ha programado esas clases de java que todos usamos.

De todas formas lo que pregutnas no se exactamente, si un programa casca supongo que habra maneras de simplemente alertar al usuario y recoger el programa de la forma más elegante posible.

Un saludo! :P


En línea

The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.
Littlehorse
All the world's a stage
Colaborador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Duda sobre Exception Java
« Respuesta #2 en: 14 Mayo 2011, 23:37 pm »

Si quieres que salga en una ventana de dialogo tendrás que redirigir el contenido del mensaje a tal ventana. De lo contrario si, saldrá en el output siempre que imprimas algo, por ejemplo en un programa que todavía no esta en producción siempre puedes hacer algo como:

Código
  1. try{
  2. //random code
  3. }catch (Exception e)
  4.        {
  5.           e.printStackTrace();
  6.        }

En cuanto a lo de lanzar excepciones adentro de un catch, en el caso del primer post no tiene sentido hacerlo así pero, a veces se lanzan excepciones dentro del bloque catch, dependiendo de la gravedad de la excepción por la cual se entra en ese lugar.

Saludos!
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
ShotgunLogic

Desconectado Desconectado

Mensajes: 233


Claws so razor sharp


Ver Perfil
Re: Duda sobre Exception Java
« Respuesta #3 en: 15 Mayo 2011, 11:18 am »

Si quieres que salga en una ventana de dialogo tendrás que redirigir el contenido del mensaje a tal ventana. De lo contrario si, saldrá en el output siempre que imprimas algo, por ejemplo en un programa que todavía no esta en producción siempre puedes hacer algo como:

Código
  1. try{
  2. //random code
  3. }catch (Exception e)
  4.        {
  5.           e.printStackTrace();
  6.        }

En cuanto a lo de lanzar excepciones adentro de un catch, en el caso del primer post no tiene sentido hacerlo así pero, a veces se lanzan excepciones dentro del bloque catch, dependiendo de la gravedad de la excepción por la cual se entra en ese lugar.

Saludos!

Puestos a hacer eso podrias ya hacer dentro del catch:

throw new Exception("Mensaje que quieras que salga");

Así luego en el main podrás hacer que aparezca el mensaje que pusiste aquí, y te quedará más estructurado. De todas formas cuidado con el flujo del programa, que igual coges ese error pero sigues con el flujo y te saltan 50 errores más xD

Saludos!
En línea

The clans are marching against the law, bagpipers play the tunes of war, death or glory I will find, rebellion on my mind.
Littlehorse
All the world's a stage
Colaborador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Duda sobre Exception Java
« Respuesta #4 en: 15 Mayo 2011, 15:40 pm »

Si, obvio, dentro del catch cada uno se tiene que encargar de manejar ese error correctamente para que el flujo de la aplicación continue en forma correcta. Las posibilidades son infinitas, pero depende también el contexto de la aplicación. Si estuvieses en un servlet por ejemplo, a lo mejor uno podría tener un método que parsee el error para mandarlo bien armado como string hacia otro lugar (para poder asignarlo como elemento a algún jsp -error.jsp, etc-) y luego hacer un forward a esa vista. En una aplicación de escritorio podes tener ese mismo método que parsee el error y luego lo mande a un dialog box, o donde sea.

Lo de lanzar otra exception del mismo tipo dentro de un catch personalmente no me gusta, no porque este mal si no que para el que esta leyendo el código es una patada. En todo caso ahí lo que habría que hacer, si no queda alternativa mas que lanzar otra exception, es lanzar una mas especifica que sea acorde al error encontrado.
En el caso del mensaje de la exception, podes usar getMessage() y luego esa información mostrarla/mandarla donde sea adecuado.

Saludos!


En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda sobre java « 1 2 »
Java
HadesDark 13 8,468 Último mensaje 22 Octubre 2006, 17:12 pm
por Un usuario
Duda sobre Ejecuctable de Java *.jar
Java
NadWi 6 3,108 Último mensaje 5 Marzo 2009, 19:06 pm
por genco
Duda java sobre librerías
Java
Senior++ 2 2,240 Último mensaje 11 Abril 2012, 00:33 am
por 1mpuls0
Error Applet y Java Script (uncaught exception)
Programación General
L0Ko 1 2,088 Último mensaje 19 Agosto 2012, 07:44 am
por sistemx
Duda sobre un error en java
Java
elbrujo20 2 1,069 Último mensaje 26 Mayo 2015, 04:23 am
por 0xFer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines