IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

Interprétation des erreurs en Java ?


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Interprétation des erreurs en Java ?
    Bonjour à tous,

    Ayant déjà quelques langages à mon actif (plus ou moins poussés) comme Python, PHP et JS, je me suis dis que le Java pouvait être intéressant. Tout du moins je voulais le connaître un peu et avoir des bases. Pour que la motivation soit au rendez-vous, je me suis dis que pour un "hardcore gamer" comme moi, le développement d'un mini-jeu serait intéressant.
    J'ai donc testé quelques moteur graphiques et j'ai retenue libgdx (Google Code).

    Finalement, je suis ennuyé par des choses bien plus basiques ... l'interprétation des erreurs me laissent perplexes
    Je comprends que j'ai un "null" au lieu d'un Vector2. Je le crée vide, c'est normal je suppose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public class IsoCamTest extends GdxTest implements InputProcessor {
    	...
    	Vector2[] duo;
    	...
     
     
    	@Override public void create() {
    		...
                                  newDuo();
                                  ...
     
     
    	public void newDuo(){
    		System.out.println("tata");
    		duo[0].set(5, 18);
    		System.out.println("tutu");
    		duo[1].set(6, 18);
    		System.out.println("toto");
                   }
    J'obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    tata
    Exception in thread "Thread-3" javax.media.opengl.GLException: java.lang.NullPointerException
    	at javax.media.opengl.Threading.invokeOnOpenGLThread(Threading.java:271)
    	at javax.media.opengl.GLCanvas.maybeDoSingleThreadedWorkaround(GLCanvas.java:410)
    	at javax.media.opengl.GLCanvas.display(GLCanvas.java:244)
    	at com.badlogic.gdx.backends.jogl.JoglAnimator.display(JoglAnimator.java:149)
    	at com.badlogic.gdx.backends.jogl.JoglAnimator$MainLoop.run(JoglAnimator.java:186)
    	at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.NullPointerException
    	at com.isometric.test.IsoCamTest.newDuo(IsoCamTest.java:118)	at com.isometric.test.IsoCamTest.create(IsoCamTest.java:96)
    	at com.badlogic.gdx.backends.jogl.JoglGraphics.init(JoglGraphics.java:69)
    	at com.sun.opengl.impl.GLDrawableHelper.init(GLDrawableHelper.java:72)
    	at javax.media.opengl.GLCanvas$InitAction.run(GLCanvas.java:418)
    	at com.sun.opengl.impl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:189)
    	at javax.media.opengl.GLCanvas$DisplayOnEventDispatchThreadAction.run(GLCanvas.java:452)
    	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
    	at java.awt.EventQueue.access$000(EventQueue.java:84)
    	at java.awt.EventQueue$1.run(EventQueue.java:602)
    	at java.awt.EventQueue$1.run(EventQueue.java:600)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    AL lib: dsound.c:209: Failed to play buffer: 0x887c0032
    Vous pensez pouvoir m'aider à interprêter ceci ?

    Merci de vous être arrêté sur mon problème

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 995
    Points
    7 995
    Par défaut
    Ben, comme tu le dis, duo n'est initalisé nulle part (a priori) puis est utilisé dans newDuo(). D'ou erreurs ...

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    C'est bien ce que je ne comprends pas.
    Je déclare ma variable duo. Puis je fais un set, c'est une initialisation ca non ?

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 995
    Points
    7 995
    Par défaut
    Il te manque un :

    quelque part

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Si je remplace :

    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vector2[] duo = new Vector2[2];
    C'est la même chose, j'ai aussi l'erreur. J'ai besoin de stocker 2 Vector2, d'où le tableau.

    Edit :

    J'ai voulu tenter un truc pas propre pour tester, j'ai ajouté dans mon main ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		duo[0] = new Vector2();
    		duo[1] = new Vector2();
    Ce n'est certainement pas la bonne façon de faire, je me vois mal initialiser une matrice de 4*4 de cette façon par exemple.

  6. #6
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 995
    Points
    7 995
    Par défaut
    Bah tu n'as pas d'autres choix que de faire une boucle pour initialiser autant de fois que necessaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    duo = new Vector2[42];
    for (int i = 0 ; i < duo.length;i++)
    duo[i] = new Vector2();
    Sinon si c'est pour un matrix 4*4 il y'en a dans vecmath.jar ...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Ah ... j'imaginais qu'il existait une solution plus propre qui permettait de faire ce genre de chose sans passer par des boucles.

    Bon et bien, je vais me débrouiller comme ca.
    Merci pour tes réponses à mes questions de "noob"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des erreurs sous Java
    Par User Name dans le forum Langage
    Réponses: 4
    Dernier message: 13/01/2010, 15h24
  2. interprétation des erreurs de connexion
    Par guy_antoine_mav dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 29/08/2008, 10h00
  3. Réponses: 3
    Dernier message: 20/05/2008, 14h57
  4. Conseils sur la gestions des erreurs en Java
    Par Clorish dans le forum Général Java
    Réponses: 8
    Dernier message: 26/03/2008, 16h03
  5. Réponses: 12
    Dernier message: 21/06/2006, 09h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo