Sto convalidando i dati, in questo caso voglio uno dei tre inti. Sto facendo questa domanda, poiché è il principio fondamentale a cui sono interessato. Questo è un esempio di base, ma sto sviluppando le migliori pratiche ora, quindi quando le cose si complicheranno in seguito, sono più preparato a gestirle.
È preferibile avere il try e il catch seguito dalla condizione:
public static int getProcType()
{
try
{
procType = getIntInput("Enter procedure type -\n"
+ " 1 for Exploratory,\n"
+ " 2 for Reconstructive, \n"
+ "3 for Follow up: \n");
}
catch (NumberFormatException ex)
{
System.out.println("Error! Enter a valid option!");
getProcType();
}
if (procType == 1 || procType == 2 || procType == 3)
{
hrlyRate = hrlyRate(procType);
procedure = procedure(procType);
}
else
{
System.out.println("Error! Enter a valid option!");
getProcType();
}
return procType;
}
O è meglio mettere il se nel tentativo e prendere?
public static int getProcType()
{
try
{
procType = getIntInput("Enter procedure type -\n"
+ " 1 for Exploratory,\n"
+ " 2 for Reconstructive, \n"
+ "3 for Follow up: \n");
if (procType == 1 || procType == 2 || procType == 3)
{
hrlyRate = hrlyRate(procType);
procedure = procedure(procType);
}
else
{
System.out.println("Error! Enter a valid option!");
getProcType();
}
}
catch (NumberFormatException ex)
{
System.out.println("Error! Enter a valid option!");
getProcType();
}
return procType;
}
Sto pensando che se entro la prova, potrebbe essere più veloce, ma potrebbe anche essere goffo. Quale sarebbe meglio, dato che la mia programmazione diventa più avanzata?