Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Duda

profe. como uno sabe en que momento debe implementar try{} catch(){} ?

1 respuesta

Try catch se utiliza para manejar fragmentos de código que son propensos a fallar, como; recibir un valor nulo, convertir un tipo de dato a otro, etc., o que al momento de ejecutar cierto fragmento de código te lance un error.

Por ejemplo, estoy desarrollando un menú del proyecto byteBank, en el menú de opciones debo leer, solo números, ¿pero ¿qué pasa si el usuario introduce un carácter especial o una letra o string? Esto provocaría un error, te muestro parte del código.

public static void main(String[] args) throws IOException, InterruptedException { menuPrincipal(); bfn.close(); }

private static void menuPrincipal() throws IOException { int opcionMenu; do { opcionMenu = pedirEntero(AZUL + "Ingrese una opción:\n\t1. Menu cliente\n\t" + "2. Menu cuenta\n\t3. Menu funcionario\n\t4. Salir"); switch (opcionMenu) { case 1 -> menuCliente(); case 2 -> menuCuenta(); case 3 -> System.out.println(ROJO + "Menu Funcionario"); case 4 -> System.out.println(AMARILLO + "\nSaliendo del sistema, hasta pronto..."); default -> System.out.println(ROJO + "Ingresa una opción valida\n"); } } while (opcionMenu != 4); }

private static int pedirEntero(String mensaje) throws IOException { System.out.println(mensaje); try { return Integer.parseInt(bfn.readLine()); } catch (NumberFormatException e) { System.out.println(ROJO + "Solo esta permitido ingresar números enteros\n");

}

}

En el código manejo la IOException, porque estoy leyendo valores del teclado que necesito sean enteros, si recibo un valor que no es un número entero se lanza la excepción.