Estoy tratando de verificar si el valor pasado por un usuario es constante o no. Aquí está el código que he escrito.Uso de excepciones para validar las entradas
enum Media_Delivery {
Streaming, Progressive
}
public class TestMain {
public static void main(String[] args) {
String medi_delivery = "streaming";
try {
Media_Delivery.valueOf("streaming");
} catch (IllegalArgumentException e) {
System.out.print(e);
}
}
}
Ahora, en el código de si la cadena pasada no está en el canto enumeración cotizada entonces tiros IllegalArgumentException
que es obvio.
Pero mi pregunta es: ¿Es esta la forma correcta de validar? Como usamos el mecanismo de excepción de Java para validar.
¿Alguien puede sugerir una idea mejor o lo que he codificado anteriormente es la mejor opción?
----- -------- EDITAR
Otro caso lo que quería discutir:
public class TestMain {
public static void main(String[] args) {
String inputPassed = "2a";
try {
Integer.parseInt(inputPassed);
} catch (NumberFormatException nfe) {
throw new SomeUserDefinedException("Please enter only numeric values");
}
}
Así que es una buena idea? ¿O debería haber nuestro propio mecanismo de análisis?
Por lo general, se considera mala práctica de "código hacia excepciones", en otras palabras, el uso de excepciones a determinar la lógica Eche un vistazo a lo que sugirió @Chris. –