Wang elogio:
Aquí está el código:
public Response getABC(Request request) throws Exception {
Response res = new Response();
try {
if (request.someProperty == 1) {
// business logic
} else {
throw new Exception("xxxx");
}
} catch (Exception e) {
res.setMessage(e.getMessage); // I think this is weird
}
return res;
}
Este programa está funcionando bien. Creo que debería ser rediseñado, pero ¿cómo?
Eran :
No tiene sentido lanzar una excepción en un bloque try e inmediatamente atraparlo, a menos que el bloque catch emite una excepción diferente.
Su código tendría más sentido de esta manera:
public Response getABC(Request request) {
Response res = new Response();
if (request.someProperty == 1) {
// business logic
} else {
res.setMessage("xxxx");
}
return res;
}
Sólo se necesita el bloque try-catch si su lógica de negocio (ejecutado cuando la condición es true
) puede lanzar excepciones.
Si no se captura la excepción (lo que significa que la persona que llama tendrá que manejarlo), se puede prescindir de la else
cláusula:
public Response getABC(Request request) throws Exception {
if (request.someProperty != 1) {
throw new Exception("xxxx");
}
Response res = new Response();
// business logic
return res;
}