Pour ce qui est de lever une exception sans avoir � la d�clarer :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public final class ExceptionThrower{
private ExceptionThrower(){}
/**
*
* @param ex
*/
public static void throwException(final Throwable ex){
ExceptionThrower.<RuntimeException>throwsUnchecked(ex);
}
/**
*
* @param toThrow
* @throws T
*/
@SuppressWarnings("unchecked")
private static <T extends Throwable> void throwsUnchecked(final Throwable toThrow) throws T {
throw (T) toThrow;
}
} |
et donc au lieu de
throw new ErreurApiException();
ExceptionThrower.throwException(new ErreurApiException());
� vos risques et p�rils, cela va sans dire.
Quant � l'id�e que "la gestion des erreurs est mal con�ue et l'API peut retourner un code HTTP 200 avec des donn�es tel que ..." c'est votre fa�on de voir�
d'autres pourraient consid�rer que les erreurs business sont une r�ponse valide comme une autre et doivent �tre interpr�t�es par le client
et que seules les erreurs de fonctionnement de /communication avec doivent �tre retourn�es avec un code HTTP d'erreur.
Partager