Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > EOFException

Buenas,

Alguien me podría ayudar con esta excepción "EOFException".
Mi programa en sí trata de leer los datos de un arhivo.DAT y cuando llegue al final me devuelva todos los datos leídos (no se sabe cuando datos hay dentro). Lo que hice fue

FicheroRecordIn objeto = null;
try{
objeto = new FicheroRecordIn("Record.dat");
try {
Jugador var=(Jugador) objeto.Lectura();
while (var!=null) {
System.out.println(var.toString());
var=(Jugador)objeto.Lectura();
}
*Aquí me salta un "is never thrown in body* } catch (EOFException e) {
objeto.cierre();
}
}catch (IOException e) {
System.out.println("error --> " + e.toString());
}
catch (Exception e) {
System.out.println("error --> " + e.toString());
}

Clase FicheroRecordIn;

public FicheroRecordIn (String nombreFichero) {
try {
fis = new FileInputStream(nombreFichero);
f = new ObjectInputStream(fis);
nombre = nombreFichero;
} catch (FileNotFoundException ex) {
//Capturamos error interno, por ello no es necesario mostrar mensaje.
} catch (IOException ex) {
System.out.println("ERROR de E/S crando un fichero de Matrices");
}
}

Y si no trato este error me sale en consola una exception EOFException
Dejo una imagen

http://subefotos.com/ver/?67a2bd686ac1f7d2c44f6c6b4d11f456o.jpg

junio 21, 2014 | Registered Commenteradsadadaadsasdasddasads

Tu método FicheroRecordln no lanza esa excepción, ni ninguna otra, por eso el compilador muestra ese error.

Esta línea puede ser la causa
Jugador var=(Jugador) objeto.Lectura();
pero falta ese método. Por cierto los métodos deben comenzar con letra minúscula.

junio 21, 2014 | Registered Commenterchoces

Si eso era el problema, que dentro de la clase FicheroRecordIn no trataba la excepción.
Y en cuanto a los nombres de los métodos, lo corregiré pero al ser programas de práctica no le presto mucho atención a los nombres que les pongo ni como, aún así muchas gracias por el consejo, lo aplicaré en mis futuros proyectos.

Y en cuanto a la duda, no sé como lo haces pero ¡fantástico! muchas gracias de verdad ;)

junio 21, 2014 | Registered Commenteradsadadaadsasdasddasads

Los nombres no es ninguna manía :)
Es una manera recomendada de distinguir con facilidad las clases de los métodos, al leer el código fuente, y evitar confusiones.

Algunos errores se ven con rapidez, y otros se resisten mucho, incluso usando un debugger. Es cuestión de práctica :)

junio 21, 2014 | Registered Commenterchoces

En ello estoy, en la práctica que esto cada día me engancha más, y cuando hay duda bueno es disponer de gente como tú que está dispuesto a dedicarnos un poco se su tiempo!, por ello te lo agradezco de verdad ;) y me das respuestas más entendibles y amables que la de mi profesor de programación.

junio 22, 2014 | Registered Commenteradsadadaadsasdasddasads