elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:50  


Tema destacado: Suscripción al boletín mensual de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  Ingenieria de Software en le Manejo de Errores
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ingenieria de Software en le Manejo de Errores  (Leído 1,071 veces)
cyberserver

Desconectado Desconectado

Mensajes: 157


Lo que una mente crea, otra lo destruye


Ver Perfil WWW
Ingenieria de Software en le Manejo de Errores
« en: 24 Diciembre 2010, 01:07 »

Hola amigos.

Quisiera abrir una pregunta acerca del manejor de errores teniendo ingenieria de software.!

La pregunta es quiza muy tonta pero me gustaria saber cual es la mejor manera para Avisar al Usuario de un error sin comprometer el Resultado Devuelto por el metodo o agregando mensajes ENORMES que quiten una bonita interface Y/o estetica de la aplicacion.

Por ejemplo en el siguiente metodo de Java, como podria avisar de un Error sin tener que colocar un Mensaje enorme que diga del error.
Código:
public int Suma(int a,int b){
     try{
        return a+b;
     }catch(Exception Error){
       JOptionPane.showMessengerDialog(null,"El error es " + Error);
       return null;
     }
}

Pensando en Java:
Esto del manejo de errores y la mejor forma para tratarlos no lo hago solo por estetica.! si no por buen funcionamiento de la aplicacion. ya que si queremos exportar una Clase a nivel web (JSP) no es funcional JOptionPane. y no quiero comprometer el resultado devuelto por el metodo por mostrar un tipo de Error.

como podria avisar de un Error sin usar un Mensage?


En línea






Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Ingenieria de Software en le Manejo de Errores
« Respuesta #1 en: 24 Diciembre 2010, 03:48 »

Yo creo que depende del programador y de la importancia del dato. Yo no lo dejaría proceder hasta que de una respuesta buena. Por otra parte, yo recomendaría darle el mensaje en un JLabel en rojo en vez de un JOption....  >:D


En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Darhius


Desconectado Desconectado

Mensajes: 427


Divide y vencerás.


Ver Perfil
Re: Ingenieria de Software en le Manejo de Errores
« Respuesta #2 en: 24 Diciembre 2010, 05:58 »

Has intentado con

Código
try {
       ...
}
catch(Exception Error) {
      JOptionPane.showMessengerDialog(null,Error.getMessage());
}
 

Además no lo estas hacienco como se deve (lo digo por tú código Java) ya que debes utilizar POO.

Por lo menos yo, intentaría manejar las Excepciones aparte.

Por ejemplo.

Código
import javax.swing.JOptionPane;
 
public class Suma {
 
private int resultado;
 
public static void main(String args[]) {
new Suma();
}
 
public Suma() {
String a;
do{
a = JOptionPane.showInputDialog(null, "Escribe un numero entero", "Entrada", 1);
}while(!esNumero(a));
 
String b;
do {
b = JOptionPane.showInputDialog(null, "Escribe otro numero entero", "Entrada", 1);
}while(!esNumero(b));
 
int numeroA = Integer.parseInt(a);
int numeroB = Integer.parseInt(b);
 
int resultadoSuma = Sumar(numeroA, numeroB);
 
JOptionPane.showMessageDialog(null, "La suma de " +a +" y " +b +" es " + resultadoSuma, "Resultado", 1);
 
}
 
private boolean esNumero(String str) {
try {
Integer.parseInt(str);
return true;
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error", 0);
return false;
}
}
 
   private int Sumar(int numA, int numB) {
    return numA+numB;
   }
}
 

Estoy utiizando variables de más para explicarme un poco mejor.

La primera idea de Leo Gutiérrez no es mala pero tal vez si el usuario mira que la aplicación no hace nada, llegará a pensar que simplemente está bloqueada o algo por el estilo.
La segunda me parece buena  ;)

Un saludo.

EDITO.
Entonces por lo que entiendo intentas generalizar las excepciones?  :-\ si sabes que el usuario al intentar hacer una suma por que mostrar todo el String que te manda, si puedes hacer por ejemplo.

Código
try {
...
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, "Solo se aceptan valores numericos", "Error", 0);
}
 
« Última modificación: 24 Diciembre 2010, 07:35 por Darhius » En línea

"Cuenta mi historia... a quienes pregunten, cuéntala con verdad, las cosas malas junto con las buenas  y permite que sea juzgado apegado ellas... el resto... es silencio." Dinobot (Beast Wars Transformers)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines