Está en la página 1de 5

CARRERA: INGENIERÍA MECATRÓNICA.

ASIGNATURA: PROGRAMACIÓN BÁSICA.

ALUMNO: CÉSAR CABRERA ROMERO.

PROFESOR: ANTONIO GALINDO.

SEMESTRE: 2DO SEMESTRE.

GRUPO: 04.

TURNO: VESPERTINO.

-excepciones de Java-

TAREA U7_01.
1) Investigar qué son las excepciones de Java y Cómo mantenerlas poner el
código de un ejemplo sencillo donde queda línea este comentada.
Excepciones en Java

Las excepciones permiten que un método informe al código que lo ha invocado acerca
de algún error o situación anómala que se haya producido durante su ejecución.
Por ejemplo, supongamos un método que recibe un código postal y devuelve el
nombre del ayuntamiento al cual pertenece. En el caso normal de que el código postal
sea correcto, el método devolvería el nombre del ayuntamiento. En el caso de que el
código postal que se le haya pasado no exista o su formato sea incorrecto, el método
lo notificaría lanzando una excepción. Una excepción en Java es un objeto de
la clase o de alguna de sus subclases.

Declaración de nuevas excepciones.


Java cuenta con muchas excepciones predefinidas para determinadas situaciones,
como por ejemplo para errores producidos en operaciones de entrada/salida, como es
el caso de la lectura de ficheros.
Para nuestros propios programas, a veces es útil que creemos nuestra excepción a
medida. Para ello, tenemos que declarar una nueva clase que herede de Exception.
Por ejemplo:

public class BadPostCodeException extends Exception {

public BadPostCodeException() {
super();
}

public BadPostCodeException(String message) {


super(message);
}
}

Se utilizan en Java para capturar las excepciones que se hayan podido producir en el
bloque de código delimitado por try y catch. En cuanto se produce la excepción, la
ejecución del bloque try termina. La cláusula catch recibe como argumento un objeto
Throwable. Sobre el manejo de excepciones en java, esto es esencial para toda
programación básica en java, una excepción es un indicador que tenemos de que algo
ha ido mal en nuestro código. Con lo cual podremos controlarlas y capturarlas para
poder tratar con ellas e indicar lo que se tiene que hacer.

Instrucción Try - Catch. Cuando sabemos que un código podría lanzar un error,
como por ejemplo una división entre cero, debemos encerrarla entre un bloque try-
catch. Veamos un ejemplo:

int a = 5 / 0;
esta linea nos lanzaría la siguiente excepción: Exception in thread "main"
java.lang.ArithmeticException: / by zero

Si en cambio atrapamos esta excepción podremos controlarla:

try{
int a = 5 / 0;
}catch(ArithmeticException err){
int a = 0;
}

El Bloque Finally. Finally se utiliza cuando el programador solicita ciertos recursos al


sistema que se deben liberar, y se coloca después del último bloque catch. Veamos un
ejemplo en el que intentamos leer un archivo:

FileReader lector = null;


try {
lector = new FileReader("archivo.txt");
int i=0;
while(i != -1){
i = lector.read();
System.out.println((char) i );
}
} catch (IOException e) {
System.out.println("Error");
} finally {
if(lector != null){
lector.close();
}
}

el código contenido en finally se ejecutará tras terminar el bloque try, haya habido o no


excepción, lo que permite liberar los recursos reservados para abrir el archivo. (Más
sobre finally en la documentación de Oracle)

La Cláusula Throws. Esta cláusula advierte de las excepciones que podría lanzar un
método, van entre la declaración del método y su cuerpo (pueden ser varias), así:

public static void metodo() throws ArithmeticException{


try{
int a = 5 / 0;
}catch(ArithmeticException err){
int a = 0;
}
}

La palabra clave throw. throw nos permite lanzar una excepción propia, esto lo
veremos en el siguiente ejemplo en el que aprovechamos para englobar todo lo visto
aquí:

public static void main(String[] args) {


int a;
try{
a = dividir(5,0);
}catch(MalNumeroADividir err){
System.out.println(err);
}finally{
a = 0;
}
System.out.println("Valor de a = "+a);
}

public static int dividir(int a, int b)throws MalNumeroADividir{


if(b == 0){
throw new MalNumeroADividir();
}
return a / b;
}

public static class MalNumeroADividir extends Exception {


MalNumeroADividir() {
super("No es posible dividir entre cero");
}
}

2) Pasar el código del video a Java que lea un archivo que contenga su
nombre, apellido paterno, apellido materno, numero de control (en líneas
diferentes) y presente los datos en pantalla.

También podría gustarte