
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;

public class Excepciones {
    static public void ejemplo_sin_excepciones() {
        int numero;
        String cadena="  1";
        numero = Integer.parseInt(cadena);
    }
    
    static public void ejemplo_con_excepciones() {
        int numero;
        String cadena = "  1";
        try{
            numero = Integer.parseInt(cadena);
        }
        catch(NumberFormatException ex){
            System.out.println("No es un numero, es una cadena de texto.");
        }        
    }
    
    static public void Division_por_cero() {
        int d, a;
        
        try { 
            d = 0;
            a = 42 / d;
            System.out.println("Esto no se imprimira");
        }
        catch (ArithmeticException e) {// captura el error de division
            System.out.println("Division por cero.");
        }
        
        System.out.println("Termino la ejecucion");
    }
    
    static public void Archivo_sin_Excepciones() throws IOException {
        String archivo=null;
        Scanner entrada = new Scanner(System.in);
        
 
        System.out.print("Nombre del archivo ");
        archivo = entrada.nextLine();
        RandomAccessFile DIS = new RandomAccessFile(archivo, "r");

        DIS.close();
        System.out.println("El Archivo se abrio con exito");
    }
    
    static public void Archivo_con_Excepciones() {
        String archivo=null;
        boolean band = false;
        Scanner entrada = new Scanner(System.in);
        
        do {  
            try {
                band = false;
                System.out.print("Nombre del archivo ");
                archivo = entrada.nextLine();
                RandomAccessFile DIS = new RandomAccessFile(archivo, "r");

                DIS.close();
            } catch (IOException e) {
                band = true;
                System.out.println("El archivo no existe.");
            }
        } while(band);
        
        System.out.println("El Archivo se abrio con exito");
    }
    
    public static void main(String args[]) throws IOException{
        //ejemplo_con_excepciones();
        //Division_por_cero();
        //int a = 10/0;
        Archivo_con_Excepciones();
    }
}
