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 Perl Discussion :

difference entre die et exit ?


Sujet :

Langage Perl

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 71
    Points : 87
    Points
    87
    Par défaut difference entre die et exit ?
    bonjour,

    quelle est la difference entre die et exit ?

    par exemple si j'utilise ces deux petits bouts de code ( le fichier n'existant pas ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    open ( FIC , "< blabla.txt" ) or die( $! );
    while ( <FIC> ) {
    	print $_."\n";
    }
    close ( FIC );
    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
    #!/usr/bin/perl
     
    use strict;
    use warnings;
     
    sub quit {
    	my $opt = shift;
    	print $opt."\n";
    	exit;
    }
     
    open ( FIC , "< blabla.txt" ) or &quit( $!." ( blabla.txt )" );
    while ( <FIC> ) {
    	print $_."\n";
    }
    close ( FIC );
    j'obtiens respectivement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ours@ourson:~/Progra/Perl/DieOrExit$ perl die.pl 
    Aucun fichier ou dossier de ce type at die.pl line 6.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ours@ourson:~/Progra/Perl/DieOrExit$ perl exit.pl
    Aucun fichier ou dossier de ce type ( blabla.txt )
    une difference quelconque hormis la présentation ? ( que perso je trouve plus belle sur un exit )

    cordialement

    ours

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2013
    Messages
    247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 247
    Points : 406
    Points
    406
    Par défaut
    je ne connais pas la réelle différence entre exit et die
    mais en regardant tes exemples, le die te permet d'écrire un message d'erreur sans passer par une fonction

    par habitude, je n'utilise le exit que dans le cadre de boucle
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    exit if ( $line =~ ... );
    open(...) or die "Impossible d'ouvrir le fichier";

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    "die" lève une exception et affiche une erreur sur la sortie STDERR, puis appelle "exit" avec un paramètre numérique non nul, qui lui, ne fait que sortir du programme (en appelant toutefois le bloc END avant) et retourne la valeur numérique passée en paramètre au processus père (le shell sous Unix).

    L'exception générée à l'appel de "die" peut être capturée par un bloc "eval {}" et traitée dans un bloc "if (!defined eval_return)"

    Des explications détaillées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    perldoc -f die
    perldoc -f exit
    perldoc -f eval
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

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

Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  2. La difference entre XSL et XSLT?
    Par pantin dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/06/2003, 15h14
  3. Difference entre fenetre et boite de dialog
    Par billyboy dans le forum Windows
    Réponses: 2
    Dernier message: 02/06/2003, 15h43
  4. [] Difference entre MSHFlexGrid et MSFlexGrid
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/04/2003, 08h48
  5. Difference entre types d'Adresse IP
    Par freud dans le forum Développement
    Réponses: 3
    Dernier message: 02/03/2003, 02h06

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