Partage
  • Partager sur Facebook
  • Partager sur Twitter

Gerer une exception

    18 septembre 2017 à 18:48:56

    Bonjour, j'ai ici une classe Mage qui est la classe fille de la classe Character, 

    Ici mon mage a une methode attack qui prend en parametre le nom de l'arme qu'il prend pour attaquer, et ce personnage a seulement deux armes qu'il peut utiliser, l'arme "Wand" et l'arme "Magic" d'ou mon if qui test si la chaine de caractere mis en parametre est bien egal a ces armes.

    mais la je dois réaliser une exception et utiliser les instructions "try", "catch" et "finally" sans créer une exception personnalisé, cela viens dans l'exercice suivant..

    je n'ai jamais utiliser ces instructions, tout les explications que je vois, les personnes arrive a le faire en créant une exception personnalisé.. mais sans je n'ai aucune idée de comment faire.. 

    Voici le code de ma classe Mage : 

    public class Mage extends Character{
    	public Mage(String Name){
    		this.name = Name;
    		RPGClass= "Mage";
    		life = 70;
    		strength = 3;
    		agility = 10;
    		wit = 10;
    		System.out.println(this.name + ": May the gods be with me.");
    	}
    	public void attack(String weapon) {
    		if (weapon == "wand" || weapon == "magic") {
    		System.out.println(this.name + " Rrrrrrrrr....");
    		System.out.println(this.name + ": Feel the power of my " + weapon);
    		}
    		else {
    			
    		}
    	}
    	public void moveRight(){
    		System.out.println(name + ": moves right furtively.");	
    	}
    	public void moveLeft() {
    		System.out.println(name + ": moves left furtively.");	
    	}
    	public void moveForward() {
    		System.out.println(name + ": moves forward furtively.");	
    	}
    	public void moveBack() {
    		System.out.println(name + ": moves back furtively.");	
    	}
    	
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      21 septembre 2017 à 21:17:59

      En fait c'est très simple ;). 

      Dans la mesure ou tu ne dois pas créer de classe avec une exception personnalisée, tu peux juste utiliser les classes d'exception existantes. 

      Autant te dire qu'il y en a un certain nombre ^^. 

      Tu dois aussi indiquer à ta méthode que cette dernière fera remonter une exception (celle que tu définis dans le catch/finally). 

      Tu auras un truc du genre : 

      public void maMethode(String[] args) throws UneExceptionChosie {
         try{
           //mes conditions
         } catch(UneException e){
            //Tu peux tester ce que tu as comme Exception levée
          } finally{
            //ce qui peut rester à faire au niveau du code
          }
      }
      public void attack(String weapon) {
              //bonne pratique de dev avec le code corrigé
              if ("wand".equals(weapon) || "magic".equals(weapon)) {
              System.out.println(this.name + " Rrrrrrrrr....");
              System.out.println(this.name + ": Feel the power of my " + weapon);
              }
              else {
                   
              }
          }

      Cette bonne pratique est utile surtout dans le cas d'application se lançant en Multi-thread. Si tu effectues des analyse qualimétriques c'est aussi le genre de remontées que tu pourrais avoir.

      • Partager sur Facebook
      • Partager sur Twitter

      Gerer une exception

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown