Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

Appel à contributeurs pour la doc.

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 16/03/2017, à 14:26

plouf1221

Un déclenchement d'erreur qui ne se déclence pas [RESOLU]

Bonjour,

Je suis un programmeur débutant en java. Et touts les conseils comme Sushy et d'autres dont j'ai oublié le nom sont la bienvenue.
Vois mon code, on ne peux pas faire plus simple et pourtant ça foire.
Je sais normalement c'est une classe par fichier et vice versa mais la le code est tellement petit que l'on peut s'en passer big_smile

public class Point {
	
	private int x, y;
	
	public Point (int x, int y) throws ErrConst { // avec un 's'
		if ( (x < 0) || (y < 0) )
			throw new ErrConst(); // sans 's'
			this.x = x;
			this.y = y;
	}
	
	public void affiche () {
		System.out.println("coordonnees : " + x +" "+ y);
	}
}

public class ErrConst extends Exeption {
}

Dernière modification par plouf1221 (Le 16/03/2017, à 18:37)

Hors ligne

#2 Le 16/03/2017, à 15:33

abelthorne

Re : Un déclenchement d'erreur qui ne se déclence pas [RESOLU]

Je n'y connais rien en java mais ça ne devrait pas être "Exception" (avec un "c") que ta classe étend ?

Hors ligne

#3 Le 16/03/2017, à 16:10

plouf1221

Re : Un déclenchement d'erreur qui ne se déclence pas [RESOLU]

Tu as raison.
C'est Exception.  Mais j'ai toujours une erreur sur le 'ErrConst'.
Merci pour ton aide.

Dernière modification par plouf1221 (Le 16/03/2017, à 16:10)

Hors ligne

#4 Le 16/03/2017, à 16:56

plouf1221

Re : Un déclenchement d'erreur qui ne se déclence pas [RESOLU]

J'ai trouvé la dernière erreur, mais je ne sais pas pourquoi il faut faire ça,
faut mettre la classe exception dans la classe point.

public class Point {
	
	private int x, y;
	
	public Point (int x, int y) throws ErrConst { // avec un 's'
		if ( (x < 0) || (y < 0) )
			throw new ErrConst(); // sans 's'
			this.x = x;
			this.y = y;
	}
	
	public void affiche () {
		System.out.println("coordonnees : " + x +" "+ y);
	}
	
	public class ErrConst extends Exception { // A l'intérieur de la classe Point

	}
}

Es ce que quelqu'un a une réponse à me donner ? Normalement même à l'extérieur de la classe Point cela devrait fonctionner non ?

Dernière modification par plouf1221 (Le 16/03/2017, à 17:06)

Hors ligne

#5 Le 16/03/2017, à 18:30

soshy

Re : Un déclenchement d'erreur qui ne se déclence pas [RESOLU]

Normalement même à l'extérieur de la classe Point cela devrait fonctionner non ?

A l'exterieur dans un autre fichier, oui.
A l'exterieur dans le meme fichier, non.

Un fichier = une classe.
Si tu as plus d'une classe, alors c'est que tu as une classe principale et une ou plusieurs classe(s) internes (chapitre que tu as deja vu si je me refere a tes questions precedentes).
Derniere chose, si tu fais des classes interne, comme dans ton exemple, declare les static.

public class Point {
	
	private int x, y;
	
	public Point (int x, int y) throws ErrConst { // avec un 's'
		if ( (x < 0) || (y < 0) )
			throw new ErrConst(); // sans 's'
		this.x = x;
		this.y = y;
	}
	
	public void affiche () {
		System.out.println("coordonnees : " + x +" "+ y);
	}
	
	public static class ErrConst extends Exception { // A l'intérieur de la classe Point

	}
}

Dernière modification par soshy (Le 16/03/2017, à 18:35)

Hors ligne