TP8Q4 Traitement des Erreurs

Programmation Avancée

Moderator: douinj

Post Reply
georg_c9
Posts: 81
Joined: 24 Oct 2021 18:14

TP8Q4 Traitement des Erreurs

Post by georg_c9 » 28 Dec 2021 19:19

Ayant passés tous les tests de mon TP en interne (TestChainCRUD et TestAvecInjection), je souhaiterais avoir une idée de la gestion des erreurs car les tests JNEWS démontrent une absence de contrôle (nom absent ou double par exemple).

Comment gérer ces erreurs ? Je ne peux pas bloquer la chaîne de traitement avec une exception de type RunTimeException. Par contre, lorsque l'opération se passe "mal", j'obtiens bien -1 ou False comme résultat.

georg_c9
Posts: 81
Joined: 24 Oct 2021 18:14

Re: TP8Q4 Traitement des Erreurs

Post by georg_c9 » 29 Dec 2021 13:29

Avec l'explication expérimentale des tests, ça se comprend mieux :

public void ignore_testRetrieveAvecErreursPossibles(){

Handler<Requete> chaine = new Create(new Retrieve( new Update( new Delete(null))));

try{
Requete requete = new Requete("GET /retrieve/?xxx=temperature");
boolean resultat = chaine.handleRequest(requete);
fail("Une 'RuntimeException' est attendue, si le parametre \"nom\" est absent de la requête");
}catch(Throwable e){
assertTrue("e n'est pas instanceof RuntimeException ???", e instanceof RuntimeException);
}
}

public void testDeleteAvecErreursPossibles(){
Requete requete = new Requete("GET /delete/?zzz=temperature");
Handler<Requete> chaine = new Create(new Retrieve( new Update( new Delete(null))));

try{
boolean resultat = chaine.handleRequest(requete);
fail("Une 'RuntimeException est attendue, si le parametre \"nom\" est absent de la requête");
}catch(Throwable e){

assertTrue(e instanceof RuntimeException);

Post Reply