Comunidad:
 
Tengo un switch case, el cual me da error al ingresar una letra.
Me explico: tengo 4 opciones 1 a 4 pero, si ingreso una letra cualquiera, me tira este error:
 
 
java.util.InputMismatchException
	at java.util.Scanner.throwFor(Unknown Source)
	at java.util.Scanner.next(Unknown Source)
	at java.util.Scanner.nextInt(Unknown Source)
	at java.util.Scanner.nextInt(Unknown Source)
	at Carga.MenuPrueba.<init>(MenuPrueba.java:42)
	at Carga.Inicio.main(Inicio.java:13)
 
 
Y lo que quiero es que me ataje ese error y no me bote el programa.
 
Acá dejo la clase java:
 
 
 
package ProcedimientosAlmacenados;
 
import java.sql.*;
import java.util.*;
import java.io.*;
 
public class ProcedimientoAgregar {
 
	private Connection Conexion;
	private CallableStatement cstmt = null ;
 
 
	public ProcedimientoAgregar(Connection Con) {
 
		Conexion = Con;
	}
 
	public static void Agregar() throws Exception
	{
	Class.forName("com.microsoft.sqlserver.jdbc.SQLSer  verDriver");
	Connection con=DriverManager.getConnection("jdbc:sqlserver://MARTE:1433;DatabaseName=Prueba", "sa", "gsiinformatica");
	//Step-1
 
	CallableStatement cstmt = con.prepareCall("{call ProcedAlmac_IngresarPersona(?,?,?)}");
	Scanner sc=new Scanner(System.in);
 
	Scanner consola = new Scanner(System.in);
	BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
	int opcion = 0;
	String seleccion = "";
 
 
	// Si fuese integer System.out.print("Ingrese el numero tanto: ");
	//int x=sc.nextInt();
 
	System.out.println ("************************************");
	System.out.println ("************************************");
	System.out.println ("**                                **");
	System.out.println ("**         MODULO DE CARGAS       **");
	System.out.println ("**                                **");
	System.out.println ("** 1 - Ingreso de datos           **");
	System.out.println ("**                                **");
	System.out.println ("************************************");
	System.out.println ("************************************");
 
	System.out.println ("");
 
	System.out.print("Ingrese el nombre: ");
	String nombre = sc.next().toUpperCase();
 
	System.out.print("Ingrese el apellido: ");
	String apellido = sc.next().toUpperCase();
 
	System.out.println("Ingrese el RUT: Ej: 12.114.175-2 ");
	String rut = sc.next().toUpperCase();
	//Step-2
	cstmt.setString(1,nombre);
	cstmt.setString(2,apellido);
	cstmt.setString(3,rut);
	//Step -3
	cstmt.execute();
	System.out.println("***Llamada a Procedimiento Almacenado****");
	System.out.println("Registro Agregado con Exito!!!!!!");
	con.close();
 
 
do{	
	System.out.println("");
	System.out.println("Desea seguir ingresando personas?");
 
	System.out.println("");
	System.out.println(" Opcion 1: Seguir - Opcion 2: Salir");
	opcion = consola.nextInt();
 
	switch (opcion) {
	    case 1:
	    System.out.println("Opcion 1: Seguir");
	    System.out.println("");
	    ProcedimientoAgregar.Agregar();
	     break;
	   case 2:
	      System.out.println("Opcion 2: Salir");
	      System.out.println("");
	      System.out.println("\nHasta Pronto!!!");
		  System.exit(2);
	      break;
	   default:
	     System.out.println("Seleccion no valida");
	     System.out.print("Pulse S si desea continuar o cualquier tecla y luego ENTER para salir: ");
	     seleccion = stdin.readLine();
	   }
	} while (seleccion.equals("s"));
	System.out.println("\nHasta Pronto!!!");
	System.exit(4);
 
	}
} 
   
 
 Switch Case en Java
 Switch Case en Java 



