Scriptabbruch bei nicht vorhandener Funktion

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Scriptabbruch bei nicht vorhandener Funktion

    Hallo.

    Ich suche eine Möglichkeit ein Script mit einer eigenes definierten Fehlermeldung wenn eine Funktion nicht vorhanden ist.

    Hab es schon mit die() und exit() probiert aber nix hat funktioniert

    Hab bei Google und in verschiedenen Foren nachgeschaut aber nix in der Art gefunden.

    Danke für die Hilfe im Vorraus.
    Wir haben alle mal angefangen!

  • #2
    Geht nicht.
    Eventuell in php5.X mit E_RECOVERABLE oder so ... google mal danach, in allen vorigen Versionen ist das ein FATAL-Error und den kann man nicht abfangen (steht übrigens auch irgendwo im Manual...)

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Und wenn man Root Zugriff hat?

      Kann man da irgendwas bei PHP einstellen das man das auf eine eigene Fehlerseite umleiten kann?
      Wir haben alle mal angefangen!

      Kommentar


      • #4
        ggf. function_exists und dann mit header arbeiten.

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Es sollte niemals vorkommen, dass eine Funktion nicht existiert ... FATAL-Errors sind Fehler die eben deshalb fatal sind weil sie niemals in der Produktion auftauchen sollten...

          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
          Wie man Fragen richtig stellt

          Kommentar


          • #6
            Pack doch den ganzen Code in ein try{} und fange allfällige Fehler im catch ab. Müsste doch eigentlich funzen...

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Du kannst auch alle verwendeten Funktionen vorher mit function_exists() überprüfen und wenn eine nicht existiert eine beliebige Ausgabe machen.

              Für Genaueres
              video2mp3.de - Kostenlos Videos von verschiedenen Videoportalen in MP3 umwandeln

              Kommentar


              • #8
                da hat einer aufmerksam mitgelesen...

                Kommentar


                • #9
                  Original geschrieben von penizillin
                  da hat einer aufmerksam mitgelesen...
                  Entschuldigung, hab den Post nicht gesehen gehabt von Kropff.

                  Als Ergänzung vielleicht noch:
                  Wenn du alles über function_exists() machst und eine Funktion nicht existiert kannst du ja eine beliebige Datei als Fehlermeldung holen (file_get_contents()) und ausgeben oder nur einfachen Text. Ausgabe natürlich mit die() da exit keine Ausgabe erlaubt.
                  video2mp3.de - Kostenlos Videos von verschiedenen Videoportalen in MP3 umwandeln

                  Kommentar


                  • #10
                    Original geschrieben von LoronorZorro
                    Ausgabe natürlich mit die() da exit keine Ausgabe erlaubt.
                    warum denn das?

                    Kommentar


                    • #11
                      Also mein letzer Vorschlag wäre dann deinen Code in eine Klasse zu packen, diese von Exception abzuleiten und bei nicht existenter Fkt eine Exception werfen.
                      Diese muss dann im catch Block deines die Klasse aufrufenden Codes abgefangen werden. Mit Exceptions kannst du als Meldung übergeben was immer du willst.

                      Gruss

                      tobi
                      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                      Kommentar


                      • #12
                        Original geschrieben von penizillin
                        warum denn das?
                        Also ich meinte die Funktion an sich. Natürlich kann er wenn er will auch vorher nen echo machen und dann exit. Das bleibt ihm überlassen.
                        video2mp3.de - Kostenlos Videos von verschiedenen Videoportalen in MP3 umwandeln

                        Kommentar


                        • #13
                          Original geschrieben von LoronorZorro
                          Also ich meinte die Funktion an sich.
                          genau darauf bezog sich die frage: wie kommst du dazu, soetwas zu behaupten?

                          Kommentar


                          • #14
                            Original geschrieben von penizillin
                            genau darauf bezog sich die frage: wie kommst du dazu, soetwas zu behaupten?
                            exit an sich bietet keinen Parameter für eine Ausgabe. Ich meinte das speziell auf die Funktion allein bezogen. Alles vorherige wird natürlich ausgegeben.
                            video2mp3.de - Kostenlos Videos von verschiedenen Videoportalen in MP3 umwandeln

                            Kommentar


                            • #15
                              exit an sich bietet keinen Parameter für eine Ausgabe.
                              und wer hat dir das erzählt?
                              Ich meinte das speziell auf die Funktion allein bezogen.
                              welche funktion? exit ist keine.

                              Kommentar

                              Lädt...
                              X