Les Allergies
Alimentaires
Posez votre question Signaler

Java Exception [Résolu]

keurdange 282Messages postés 8 novembre 2010Date d'inscription 9 mai 2012Dernière intervention - Dernière réponse le 24 nov. 2011 à 23:44
Bonjour,
J'aimerais faire un programme qui gère les exceptions (dans mon cas ci dessous une division par zéro. Si c'est le cas, il fait appel à une méthode pour refaire la division) mais il y a toujours une erreurs comme indiqué ci dessous:
import java.util.Scanner;
public class Division {
public static void MaDivision(float a,float b) throws DivisionZero
{
float prod = a/b; throw new DivisionZero();
//l'erreur se trouve ici. je pense que c'est le fait que DivisionZero n'est pas ici dans la classe Division Zero mais comment déclarer l'exception alors??
}
public static void main(String args[]) throws DivisionZero
{
float x,y;
Division div=new Division();
Scanner ngal=new Scanner(System.in);
System.out.println("Entrez les valeurs");
x=ngal.nextFloat();
y=ngal.nextFloat();
div.MaDivision(x, y);
}
class DivisionZero extends Exception{
public DivisionZero() throws DivisionZero
{
Division div=new Division();
Scanner Ngal=new Scanner(System.in);
System.out.println("Attention, division par zéro impossible\nVeuillez rentrer les nombres");
float a=Ngal.nextFloat();
float b=Ngal.nextFloat();
div.MaDivision(a, b);
}
}
}
N.B: je sais le faire avec try() catch(ArithmeticException e) mais je veux encore plus gérer l'exception et créer par moi même mon exception.

Merci.
Lire la suite 

Java Exception »

Suggestions
7 réponses
Réponse
+0
moins plus
Le problème vient que tu as déclaré ta classe DivisionZero à l'intérieur de la classe Division.
Pour corriger le problème tu dois "au choix" déclarer la classe à part, ou la déclarer à l'intérieur mais static. Dans les deux cas une encapsulation public ne ferait pas de mal ;-)
keurdange- 24 nov. 2011 à 23:10
j'ai déplacé l'exception pour corriger le problème mais j'ai pas compris ton private static final long serialVersionUID = 1L; surtout l'initialisation à 1L.

Merci
KX- 24 nov. 2011 à 23:19
Les exceptions implémentent l'interface Serializable qui demande un numéro de version.
Par défaut Eclipse me le met directement à 1 (le L pour dire que c'est de type long)
keurdange- 24 nov. 2011 à 23:44
ok
Ajouter un commentaire
Ce document intitulé « Java Exception » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?