Une exception java dont je ne veux pas
Résolu/Fermé
delfre56
Messages postés
340
Date d'inscription
mardi 3 juillet 2012
Statut
Membre
Dernière intervention
23 février 2018
-
11 nov. 2015 à 16:30
delfre56 Messages postés 340 Date d'inscription mardi 3 juillet 2012 Statut Membre Dernière intervention 23 février 2018 - 11 nov. 2015 à 17:59
delfre56 Messages postés 340 Date d'inscription mardi 3 juillet 2012 Statut Membre Dernière intervention 23 février 2018 - 11 nov. 2015 à 17:59
A voir également:
- Une exception java dont je ne veux pas
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel football - Télécharger - Jeux vidéo
- Waptrick java ✓ - Forum Mobile
- Java jre - Télécharger - Langages
1 réponse
KX
Messages postés
16733
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 janvier 2024
3 015
11 nov. 2015 à 16:47
11 nov. 2015 à 16:47
Bonjour,
"moi je n'ai pas demandé la moindre exception"
Toi non, mais tu utilises la méthode ImageIO.read qui elle peut générer des exceptions. Voir la documentation : ImageIO.read(File)
Si une exception se produit, ce qui peut par exemple arriver si le fichier que tu lis n'est pas une image, tu peux soit traiter l'erreur dans ta méthode avec un bloc try/catch, soit propager l'erreur à la méthode appelante avec un throws.
Premier cas, on gère l'erreur tout de suite :
Deuxième cas, c'est la méthode appelante qui gérera l'erreur :
Dans ce cas, tu déplaces le problème, mais il faudra quand même que la méthode qui appelle le constructeur ImageSprite, gère cette exception (donc de la même manière, soit un try/catch, soit un throws, etc.)
"moi je n'ai pas demandé la moindre exception"
Toi non, mais tu utilises la méthode ImageIO.read qui elle peut générer des exceptions. Voir la documentation : ImageIO.read(File)
Si une exception se produit, ce qui peut par exemple arriver si le fichier que tu lis n'est pas une image, tu peux soit traiter l'erreur dans ta méthode avec un bloc try/catch, soit propager l'erreur à la méthode appelante avec un throws.
Premier cas, on gère l'erreur tout de suite :
public ImageSprites(File file) { super(Color.RED); try { BufferedImage image = ImageIO.read(file); // actions à faire avec image } catch (IOException e) { // actions à faire si une exception s'est produite dans read // par exemple, créer une autre exception, mais d'un autre type throw new IllegalArgumentException("Can't read file as an image: "+file, e); } }
Deuxième cas, c'est la méthode appelante qui gérera l'erreur :
public ImageSprites(File file) throws IOException { super(Color.RED); BufferedImage image = ImageIO.read(file); // actions à faire avec image }
Dans ce cas, tu déplaces le problème, mais il faudra quand même que la méthode qui appelle le constructeur ImageSprite, gère cette exception (donc de la même manière, soit un try/catch, soit un throws, etc.)
try { ImageSprite img = new ImageSprites(file); } catch (IOException e) { // ... }
11 nov. 2015 à 17:59