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

Forcer l'exécution malgré une "Fatal error" [Fait]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Forcer l'exécution malgré une "Fatal error"
    Bonjour,

    Quasiment tout est dans le titre, mais la question est pourquoi forcer une éxécution d'un script HS ?

    C'est tout bête :

    J'ai un module à PHP (ffmpeg) qui revois des erreurs FATALE alors qu'elles ne le sont pas :

    Fatal error: Could not find decoder for mavideo.avi in monscript.php on line X.

    Si en revanche ma vidéo as un codec reconnu, tout se passe bien.

    Donc j'aimerais detecter cette erreur qui est fatale pour ffmpeg, et qui pour moi serais un warning, pour faire en sorte dans mon script de tous simplement ignoré le codec vidéo en question et compiler sans (donc n'avoir que la vidéo).

    J'ai pensé à un truc plutot bourrin et surtout crado et chiant à metre en place que j'aimerais sincerement évité de faire :

    Faire un 2nd script, et avec le premier script faire un fopen(srcript2) pour parsé le HTML généré pour savoir si echec ou pas, et prendre ca en arguement (mais foutre la relation des session plus de la BDD ca vas être franchement chiant).

    Alors que si un truc genre if (mafontionffmpeg(mavideo.avi) == false) serais possible cella m'arrangerais.

    Voyez vous un truc pour forcer un script PHP malgré une erreur "fatale" ?

    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je n'ai pas trop d'experience sur le sujet mais peut etre que try/catch peut s'utiliser pour ca :
    http://fr3.php.net/exceptions
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Sinon... c'est également assez crade, mais tu peux essayer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    === script principal ===
    ....
    @include('script_qui_peut_planter.php');
    if ($bien_termine==1) {
     echo 'OK';
    }
    ....
    === script_qui_peut_planter.php ===
    $bien_termine = 0;
    // traitement qui peut faire une fatal error
    $bien_termine = 1;
    Je sais que j'avais eu des problemes de debuggage avec un script de ce genre ^^ avec un @ devant le include... mais je ne sais plus si les fatal error étaient catchées ou non.

    http://fr.php.net/fr/@
    En fait, l'opérateur "@" va aussi désactiver les rapports d'erreurs critiques, qui stoppent l'exécution du script. Entre autres, si vous utilisez "@" pour supprimer les erreurs de certaines fonctions, et que cette fonction n'existe pas, ou qu'elle a été mal orthographiée, vous n'aurez aucune indication.
    Si ca ne fonctionne pas, tu peux aussi essayer ceci :
    http://fr.php.net/manual/fr/function...or-handler.php

Discussions similaires

  1. Réponses: 9
    Dernier message: 19/02/2013, 19h29
  2. Forcer l'exécution d'une application en mode Run et non pas Debug
    Par benthebest dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 18/04/2012, 22h27
  3. [C#] Forcer l'exécution sur une certaine plateforme
    Par CARNIBAL dans le forum Framework .NET
    Réponses: 0
    Dernier message: 13/04/2010, 17h33

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