He estado mirando esto durante horas y sin poder encontrar una solución; Por lo general encargan de la validación de este tipo con expresiones regulares, pero estoy tratando de utilizar una solución integrada para un cambio (obviamente, no hago esto con frecuencia):Java try/catch - ¿"return is not found" o "variable no se ha inicializado"?
private static double promptUserDecimal(){
Scanner scan = new Scanner(System.in);
System.out.println("Enter a decimal");
try{
double input2 = Double.parseDouble(scan.nextLine());
return input2;
} catch(NumberFormatException e){
System.out.println("Sorry, you provided an invalid option, please try again.");
}
}
El error con esto es que el "retorno "no es encontrado por el compilador, así que me sale un error de compilación". Si pongo el "retorno" fuera del try/catch, necesito declarar/inicializar "input2", lo que anula el objetivo de la operación. Se aprecia cualquier ayuda ...
Usted detecta la excepción, imprime un mensaje, pero luego el método continúa desde el bloque' catch'. El compilador se queja del hecho de que no regresa si se golpea el bloque catch (no todos rutas de retorno) – birryree