Une exception java dont je ne veux pas
Résolu
delfre56
Messages postés
350
Date d'inscription
Statut
Membre
Dernière intervention
-
delfre56 Messages postés 350 Date d'inscription Statut Membre Dernière intervention - 11 nov. 2015 à 17:59
delfre56 Messages postés 350 Date d'inscription Statut Membre Dernière intervention - 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
- Jeux java itel football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
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) { // ... }
delfre56
Messages postés
350
Date d'inscription
Statut
Membre
Dernière intervention
48
Merci !