souci avec le format des valeurs numériques.
voilà, je testais une valeur qui est 100
cepedant, ils ont adopté le format 111.01 pour le ErrorCode.
cependant, je dois renvoyer un int
alors comme mes valeurs sont sotckés dans un fichier proprties de cett manière:
Code:
java.lang.arithmeticexception.code="0001.01"
et je faisais ce test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
public int getErrorCode(Throwable throwable) {
LOGGER.info("ErrorMapper.getErrorCode(Throwable throwable)");
int errorCode = 0;
String exceptionName = throwable.getClass().getName().toLowerCase();
String value = properties.getProperty(exceptionName + ".code");
System.out.println("valeur du properties" + value );
if (value != null) {
try {
errorCode = Integer.parseInt(value);
}
catch(NumberFormatException nfe) {
// Gestion de l'erreur: Code d'erreur n'est pas un nombre
}
}
else {
// Gestion de l'erreur: Code Non Trouvé
}
LOGGER.info("ErrorMapper.getErrorCode(Throwable throwable) end ");
return errorCode; |
je ne sais pas comment faire pour passer d'une valeur qui contient un point.
Re: souci avec le format des valeurs numériques.
ça pose un problème si tu utilises un double pour errCode ???
Sinon, tu peux faire un truc du genre
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
public double getErrorCode(Throwable throwable) {
LOGGER.info("ErrorMapper.getErrorCode(Throwable throwable)");
double errorCode = 0;
String exceptionName = throwable.getClass().getName().toLowerCase();
String value = properties.getProperty(exceptionName + ".code");
System.out.println("valeur du properties" + value );
if (value != null) {
try {
errorCode = Double.parseDouble(value);
}
catch(NumberFormatException nfe) {
// Gestion de l'erreur: Code d'erreur n'est pas un nombre
}
}
else {
// Gestion de l'erreur: Code Non Trouvé
}
LOGGER.info("ErrorMapper.getErrorCode(Throwable throwable) end ");
return errorCode;
public String getSeverity(double errorCode) {
String value = properties.getProperty(String.valueOf(errorCode) + ".severity");
return value; |
Par contre, il peut y avoir des problèmes avec le caractère point lors de la conversion de la chaîne de caractères. Je sais plus trop si il faut un point ou une virgule, ça doit être marqué dans la doc.