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

avec Java Discussion :

Différence entre une erreur à la compilation et Exception


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 51
    Points : 41
    Points
    41
    Par défaut Différence entre une erreur à la compilation et Exception
    Bonjour,

    J'aimerais savoir quelle est la différence entre une compilation en échec et une Exception ?

    Par rapport à un exemple, je pensais qu'en cas d'absence du mot clé static, dans la déclaration de main(), cela donnerait une erreur de compilation mais en réalité, cela donne "exception is thrown at runtime".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public class Pass2{
    public void main (String [] args){
    }}
    Quelqu'un saurait-il m'éclaircir à ce propos ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 552
    Points : 21 608
    Points
    21 608
    Par défaut
    Ben c'est simple. Java est un langage compilé, ce qui signifie que quand on a fait un programme en Java dans des fichiers .java, on ne peut pas les exécuter tout de suite.
    Il faut d'abord les compiler (ce qui produit des fichiers binaires .class) puis ensuite on peut exécuter ces fichiers binaires.

    Une erreur de compilation, c'est une erreur qui arrive quand on essaie de compiler. Une Exception, c'est une erreur au runtime, pendant l'exécution.

    En l'occurrence :
    - Il est parfaitement autorisé de créer des méthodes nommées main(), qu'elles soient static ou pas. Il n'y a donc aucune erreur de compilation.
    - Mais une classe ne peut être classe de démarrage, que si elle contient une méthode public static void main(String[]), ce qui n'est pas le cas ici : elle n'est pas static. Cette classe ne peut donc pas servir de classe de démarrage, et si tu essaies de démarrer le programme avec elle, cela fera une Exception au runtime.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 51
    Points : 41
    Points
    41
    Par défaut
    Merci, c'est clair.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 12/11/2014, 13h48
  2. Ou est l'erreur - ou une différence entre une fonction et une macro ?
    Par Daranc dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/12/2009, 07h35
  3. La différence entre une erreur ou une exception ?
    Par dorian53 dans le forum Langage
    Réponses: 1
    Dernier message: 09/01/2009, 15h17
  4. Réponses: 6
    Dernier message: 11/01/2008, 10h23
  5. Réponses: 2
    Dernier message: 25/05/2005, 21h34

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