Java - porblemas con las excepciones

   
Vista:

porblemas con las excepciones

Publicado por Sergio (2 intervenciones) el 18/10/2008 18:29:44
Hola a todos:

Estoy haciendo una intefaz grafica en java pero al momento de anexar el evento a un boton me marca el siguiente error

unreported exception java.io.IOException; must be caught or declared to be thrown
realizaAnalisisLexico();

La parte de codigo en la que me marca el error es la siguiente

lex.addActionListener(
new ActionListener()
{
public void actionPerformed(ActionEvent evento)
{
realizaAnalisisLexico();
}
});

Y el metodo que esta llamando es el siguiente

public void realizaAnalisisLexico()throws IOException
{
try
{
LeeArchivo leearchivo;
if (name.isFile())
{
leearchivo=new LeeArchivo(name);
try
{
BufferedReader err1=new BufferedReader(new FileReader("Errores.txt"));
BufferedReader rep1=new BufferedReader(new FileReader("Reporte.txt"));
String lineas1=" ", lineas2;
String ln1=" ", ln2=" ";
while((lineas1=err1.readLine())!=null)
{
ln1=ln1+lineas1+" ";
}
while((lineas2=rep1.readLine())!=null)
{
ln2=ln2+lineas2+" ";
}

a2.setText(ln2);
a3.setText(ln1);
}
catch(IOException e)
{
}
}
else
{
JOptionPane.showMessageDialog(this,"Primero abre un Archivo");
}
}
catch(IOException e)
{
}
}

Espero que alguien me pueda ayudar y gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:porblemas con las excepciones

Publicado por Carlos Gavidia (11 intervenciones) el 18/10/2008 22:38:42
Hola Segio!!!

Cuando existe la posibilidad de que se lance una excepción en cierta parte del código, el compilador espera dos cosas:
* O que te ocupes de ella mediante un try/catch
* O que la declares en el método mediante throws

Necesariamente tienes que hacer una de ellas, caso contrario arrojará errores de compilación, Ahora, en el método actionPerformed invocas a este método:

public void actionPerformed(ActionEvent evento)
{
realizaAnalisisLexico();
}

Pero también has declarado que ese método arroja una excepción:

public void realizaAnalisisLexico()throws IOException

Y es por eso que el compilador se queja. Lo más práctico en este caso, sería manejar la excepción de esta forma:

public void actionPerformed(ActionEvent evento)
{
try{
realizaAnalisisLexico();
}catch (IOException e) {
e.printStackTrace();
}
}

Con eso ya debería compilar. Ahora en realizaAnalisisLexico() veo que has declarado la excepción y aún así has rodeado el código mediante un try/catch. Esto es un poco redundante, y tal vez deberías decidirte por uno de ellos.

Espero te sea de ayuda (y disculpa por lo extenso)

Carlos G. Gavidia
SCJP - SCWCD
http://certified-es.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar