Estoy escribiendo un servicio web en Java y estoy tratando de encontrar la mejor manera de definir códigos de error y sus cadenas de error asociadas . Necesito tener un código de error numérico y una cadena de error agrupados. Tanto el código de error como la cadena de error se enviarán al cliente que accede al servicio web. Por ejemplo, cuando ocurre una SQLException, es posible que desee hacer lo siguiente:
// Example: errorCode = 1,
// errorString = "There was a problem accessing the database."
throw new SomeWebServiceException(errorCode, errorString);
El programa cliente puede mostrar el mensaje:
"Se ha producido el error nº 1: se ha producido un problema al acceder a la base de datos".
Mi primer pensamiento fue utilizar uno Enum
de los códigos de error y anular los toString
métodos para devolver las cadenas de error. Esto es lo que se me ocurrió:
public enum Errors {
DATABASE {
@Override
public String toString() {
return "A database error has occured.";
}
},
DUPLICATE_USER {
@Override
public String toString() {
return "This user already exists.";
}
},
// more errors follow
}
Mi pregunta es: ¿Existe una mejor manera de hacer esto? Preferiría una solución en código, en lugar de leer desde un archivo externo. Estoy usando Javadoc para este proyecto, y sería útil poder documentar los códigos de error en línea y hacer que se actualicen automáticamente en la documentación.