Try catch et return
Résolu
Bonjour,
Je ne suis pas un expert en Java, et le try catch est clairement pour moi, assez obscure !
J'ai crée un Thread pour récuper des données sur le wab (avec un api)
//et le fameux return de ma fonction doInBackground, dans l'idéal j'aimerais retourner t
return titre;
Sauf que voilà, j'ai très vite comprit quetous ce que se passe dans le try est temporaire et donc le return titre est null.
Comment je peut procéder ?
Merci !
Je ne suis pas un expert en Java, et le try catch est clairement pour moi, assez obscure !
J'ai crée un Thread pour récuper des données sur le wab (avec un api)
protected String doInBackground(String...args){
try{
//t est crée plus haut par le constructeur Series t; tvdb est crée plus haut aussi c'est mon appel de l'api
t = tvdb.getSeries("73739", "fr");
if (t != null) {
String titre = t.getSeriesName();
//je souhaite récuper le titre de la serie qui porte l'id "73739"
}
else{
//on verra plus tard
}
}
catch (TvDbException e){
e.printStackTrace();
}
//et le fameux return de ma fonction doInBackground, dans l'idéal j'aimerais retourner t
return titre;
Sauf que voilà, j'ai très vite comprit quetous ce que se passe dans le try est temporaire et donc le return titre est null.
Comment je peut procéder ?
Merci !
1 réponse
-
ModérateurBonjour,
Le comportement d'un try/catch est un peu similaire à celui d'un if/else.
protected String doInBackground(String...args){ try { // une action normale qui renvoie un résultat return resultatNormal; } catch (AnException e){ // opérations à faire en cas d'erreur return resultatException; } finally { // opérations à faire après le return (normal ou erreur) } }-
-
Modérateurpourquoi dans mon cas je n'arrive pas a retourner "titre" ?
Je ne sais pas, dans ton code je ne vois aucun return... nul part !
j'ai pas quelque chose a faire dans le onPostExecute ?
Tu peux aussi, cela dépend de ton besoin réel; mais ça n'a rien à voir avec le mécanisme de try/catch ou de return. -
-