Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - nandoooo

#1
Java / Excepciones en Java[Solucionado]
14 Abril 2012, 16:22 PM
Hola!
Estoy iniciandome en Java y despues de leer algún que otro libro y tal me dispongo a hacer una aplicación que copia ficheros.

Me han pasado el siguiente código:
public class Cpl {

   public static void main (String args[]) {
     
     DataInputStream inorig;
     DataOutputStream outdst;
     final int TAMANO = 512;
     int error=0;      
     try {
        // Procesado de argumentos de entrada.        
        inorig = new DataInputStream (new FileInputStream (args[0]));
        outdst = new DataOutputStream (new FileOutputStream (args[1]));
       
        byte b[] = new byte [TAMANO];
        for(int n = 0;-1 != (n = inorig.read(b,0,TAMANO));) {
           outdst.write (b,0,n);
        }
        inorig.close();
        outdst.close();
     }
     catch (FileNotFoundException e) {
       System.err.println("Fichero no encontrado");
       error=1;
     }
     catch(IOException e) {
       System.err.println("Error en la transferencia");
       e.printStackTrace();
       error=1;
     }
     catch (IndexOutOfBoundsException e) {
       System.err.println("Uso: Cpl <fichero_origen> <fichero_destino>");
       error=1;
     }
     if(error!=0)
        System.exit(error);
   }
}

Pero claro...esto no me detecta los posibles fallos que puedan surgir, como puede ser fallos de paso de argumentos y tal...pero lo que mas me despista es algo que he visto en el javadoc:
En la clase IOException, he visto el siguiente contructor:
public IOException(String message, Throwable cause)
y me viene muy bien para detectar fallos de lectura y escritura con write y read sin usar try´s anidados, pero no consigo usarlo de forma correcta.¿Alguna idea?
Gracias!