lunes, 27 de febrero de 2023

Excepciones

 Al violar las restricciónes semánticas se produce una excepción, puede ser por un desbordamiento de memoria, disco estropeado, un intento de dividir por cero o acceder a un vector fuera de los límites.

Excepción al dividir entre 0

Se espera un entero pero la persona ingresa una cadena

Throwable  (Arrojable)

    -Exception

            -IOException (Excepciones verificadas)_ Falta una linea, se pudo borrar o no se ha ingresado

            -RunTimeException (Excepciones no verificadas)_ fallas como dividir un numero entre cero, error del programador

    -Error_ Memoria insuficiente, fallas en el hardware

____________________________________________________

throws= Sirve para que cuando un error surga y no quieres que aparezca para solucionarlo en otra parte se envia este mensaje

public void leerArchivo() throws FileNotFoundException{

File archivo= new File("D:\\prueba.txt");

FileReader fr= new FileReader(archivo);}


public void leerArchivo2() throws IOException{

leerArchivo();}

es una excepción verificada así que se tiene que declarar o capturar con un try catch
____________________________________________________________
try catch

public void leerArchivo() throws FileNotFoundException, IOException{

File archivo= new File("D:\\prueba.txt");

FileReader fr= new FileReader(archivo);

BufferedReaderbf = new BufferedReader(fr);

String linea;

while(linea=bf.readLine()) !=null){

System.out.println(linea);

}

}

public void leerArchivo2(){

try{

    leerArchivo();}

catch(FileNotFoundException ex){   //captura la excepción del archivo no encontrado del file not found exception

JOptionPane.showMessageDialog(null, "No se encontro el archivo");}

catch(IOException e){  //se pone un nombre al objeto en este caso puse e

JOptionPane.showMessageDialgo(null,"Ocurrio una excepción verificada");}

Resultado= Va al try intenta leer el archivo y sale el filenotfound exception al estar borrado el archivo y continua con el programa


No hay comentarios:

Publicar un comentario