Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2011, 09:13
Avatar de elunicode
elunicode
 
Fecha de Ingreso: noviembre-2005
Mensajes: 66
Antigüedad: 19 años
Puntos: 2
Problema con excepciones para control de logs

Antes que nada saludos y gracias de antemano por su ayuda....

El problema que tengo es el siguiente:

Estoy realizando un logger en una clase, para llamarla desde otras clases, esto para gestionar ir almacenando en un archivo log todas las excepciones que ocurran en mi sistema. Estuve realizando algunas pruebas al principio y funciona bien sin problemas aquí el código:

Código Java:
Ver original
  1. package filehandlerdemo;
  2.  
  3. import java.util.logging.*;
  4.  
  5. public class FileHandlerDemo {
  6.   private static final Logger logger = Logger.getLogger("FileHandlerDemo");
  7.  
  8.   public static void main(String[] args) throws Exception {
  9.     try {      
  10.       double resultado;
  11.       System.out.println("hola");
  12.       resultado = 2/0;      
  13.     }catch (Exception e){
  14.       FileHandler fh;
  15.       fh = new FileHandler("/home/usuario/Escritorio/errores.log",true);
  16.       fh.setFormatter(new SimpleFormatter());
  17.       logger.addHandler(fh);
  18.       logger.log(Level.SEVERE, "excepcion",e);
  19.     }
  20.     System.out.println("otro mensaje");
  21.   }
  22. }

Ahora bien, ya he creado una clase llamada logger y hasta aquí ningún problemas cuyo código es el siguiente:

Código Java:
Ver original
  1. package aplicacionescritorio;
  2. import java.util.logging.*;
  3.  
  4. public class clsLogger {
  5.   private static final Logger logger = Logger.getLogger("FileHandlerDemo");
  6.   private FileHandler archivo;
  7.  
  8.   public clsLogger() throws Exception
  9.   {
  10.     archivo = new FileHandler("/home/usuario/Escritorio/errores.log",true);    
  11.     archivo.setFormatter(new SimpleFormatter());    
  12.     logger.addHandler(archivo);
  13.   }
  14.  
  15.   public void reportar(Exception e) throws Exception{
  16.     logger.log(Level.SEVERE, "Error",e);  
  17.   }  
  18. }

El problema viene cuando intento llamar desde otro método que se encuentra en otra clase y es cuando me provoca un error, el cual es el siguiente:

Código Java:
Ver original
  1. int a;
  2.   int b;
  3.   int c;
  4.   String r;
  5.  
  6.   try {
  7.   a = Integer.parseInt(txtNum1.getText());
  8.   b = Integer.parseInt(txtNum2.getText());
  9.   c = a/b;
  10.   txtResultado.setText(String.valueOf(c));
  11.   }catch (Exception e){
  12.     clsLogger log = new clsLogger();
  13.     log.reportar(e);
  14.   }

El problema se provoca en la instrucción clsLogger log = new clsLogger(), con el mensaje siguiente:

unreported exception: java.io.IOException; must be caught or declared to be thrown

AYUDA POR FAVOR