elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Uso de try-catch en Java
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Uso de try-catch en Java  (Leído 4,191 veces)
++c

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Uso de try-catch en Java
« en: 9 Octubre 2014, 22:08 pm »

Hola acabo de hacer mi primer programa en Java y de utilizar igualmente por vez primera el uso de excepciones try-catch. Mi duda es si cuando se genera la excepción, en este caso el introducir un carácter en lugar de un dígito, se puede evitar que pare o rompa la secuencia del programa. Es decir deseo que genere el aviso de "No se puede introducir caracteres" y posteriormente vuelva al menú de inicio. Dejo el código:

Código
  1. package paquete;
  2.  
  3. import java.util.Scanner;
  4. import java.util.InputMismatchException;
  5.  
  6. public class Main {
  7.  
  8. public static void main(String[] args) {
  9. // TODO Auto-generated method stub
  10. Scanner teclado=new Scanner(System.in);
  11. int opcion,opcion2;
  12. float numero,numero2;
  13. try{
  14. do{
  15.  
  16. System.out.println("******** CALCULADORA  ********");
  17.                        System.out.println("\n1- Realizar una operación");
  18.                        System.out.println("2- Salir");
  19.                        System.out.print("\nIntroduzca su opción: ");
  20.                        opcion=teclado.nextInt();
  21.                     if(opcion==1){
  22.  
  23.             System.out.print("\nIntroduzca el primer argumento: ");
  24.             numero=teclado.nextInt();
  25.             System.out.print("\nIntroduzca el segundo argumento: ");
  26.             numero2=teclado.nextInt();
  27.  
  28.             System.out.println("\n1- Sumar");
  29.             System.out.println("2- Restar");
  30.                System.out.println("3- Multiplicar");
  31.                System.out.println("4- Dividir");
  32.                System.out.print("Opcion: ");
  33.                opcion2=teclado.nextInt();
  34.  
  35.             switch(opcion2){
  36.  
  37.             case 1:
  38.             System.out.println("El resultado de la operacion es: "+  (numero+numero2));
  39.             break;
  40.  
  41.             case 2:
  42.             System.out.println("El resultado de la operacion es: "+ (numero-numero2));
  43.             break;
  44.  
  45.             case 3:
  46.             System.out.println("El resultado de la operacion es: "+ (numero*numero2));
  47.             break;
  48.  
  49.             case 4:
  50.             if(numero2>0)
  51.             System.out.println("El resultado de la operacion es: "+ (numero/numero2));
  52.             else{
  53.             System.out.println("\nEl divisor debe ser mayor de 0");
  54.             }
  55.             break;
  56.  
  57.             default:
  58.             System.out.println("## Gracias por usar la Calculadora ##");
  59.             }
  60.            }
  61.  
  62. }while(opcion==1);
  63. }catch (InputMismatchException ime){
  64. System.out.println("No se puede introducir caracteres");
  65. }
  66. System.out.println("\nHasta Pronto!!");
  67. }
  68. }
  69.  
  70.  

Gracias!!


En línea

MNicolas

Desconectado Desconectado

Mensajes: 127


Developer


Ver Perfil WWW
Re: Uso de try-catch en Java
« Respuesta #1 en: 10 Octubre 2014, 11:52 am »

En vez de lanzar una excepción podrías controlar cada vez que vayas un dato lo haces dentro de un bucle y que el bucle se esté repitiendo hasta que el dato sea correcto.


En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Uso de try-catch en Java
« Respuesta #2 en: 10 Octubre 2014, 14:40 pm »

Creo que si haces tu try catch dentro del bucle intentará nuevamente.
En línea

MNicolas

Desconectado Desconectado

Mensajes: 127


Developer


Ver Perfil WWW
Re: Uso de try-catch en Java
« Respuesta #3 en: 10 Octubre 2014, 15:52 pm »

Cuando ocurre una excepción en el "try" el catch la recoge y desde ahí la gestionas. Pero creo que no puedes volver al principio del código. A no ser que el calcular sea un método y en el catch correspondiente de la excepción llamar al método de nuevo, una especie de recursividad.
En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: Uso de try-catch en Java
« Respuesta #4 en: 10 Octubre 2014, 16:05 pm »

Cuando ocurre una excepción en el "try" el catch la recoge y desde ahí la gestionas. Pero creo que no puedes volver al principio del código. A no ser que el calcular sea un método y en el catch correspondiente de la excepción llamar al método de nuevo, una especie de recursividad.

Creo que dejar el try catch dentro del do while, no tendría que llamar a nada porque no se caería y seguiria dentro del ciclo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
try catch, bucle
Java
leogtz 5 11,948 Último mensaje 13 Febrero 2010, 06:45 am
por 43H4FH44H45H4CH49H56H45H
try catch en c++ (dev c++)
Programación C/C++
JulCesa 3 5,502 Último mensaje 27 Noviembre 2011, 19:21 pm
por naderST
Pregunta con Try y catch?
Java
Slider324 3 2,609 Último mensaje 23 Diciembre 2012, 02:07 am
por Slider324
problema implementacion try... catch
Java
andrex.125 3 2,666 Último mensaje 25 Septiembre 2013, 17:21 pm
por 1mpuls0
No me toma el bloque try catch
Java
Finishim 3 2,623 Último mensaje 29 Agosto 2016, 06:55 am
por bengy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines