[PHP] Exception funktioniert nicht

Galaxydriver

treuer Stammgast
Exception funktioniert nicht

Hallo,

ich bin bei meinen Gehversuchen in PHP auf die Exceptions gestossen.

Ich öffne testweise eine Datei, die nicht existiert u. möchte dann, dass nur die Exception ausgegeben wird.

PHP:
<?php

try {

    if(!file("exception_test1.csv")) {

        throw new Exception('Something went wrong!', 0);
    } else {

        print "okay";    
    }
}

catch (Exception $exception) {

    printf("getCode(): %s <br/> getMessage() %s <br/> getFile(): %s <br/> getLine() %d",
        $exception->getCode(),
        $exception->getMessage(),
        $exception->getFile(),
        $exception->getLine());    
}
?>

Das ganze funktioniert soweit ganz gut.
Allderings wird mir die folgende Meldung, im Anschluss an meine Exception-Methoden auch ausgegeben:

Code:
[function.file]: failed to open stream: No such file or directory in C:\Inetpub\wwwroot\php2\exception_test.php on line 6

Und diese Meldung will ich dem User natürlich nicht zeigen - sonst bräuchte ich keine try-catch-Anweisung...

Mir ist aufgefallen, dass diese Meldung bei der if-Abfrage if(!file("exception_test1.csv")) erzeugt wird...

Ich habe zwar mal gelesen, dass man diese Warnings u. Fehlermeldungen in der php.ini ausschalten kann - aber das löst das Problem auch nicht, dass meine try-catch-Abfrage nicht korrekt arbeitet.. :(

Was kann ich in diesem Fall machen?

ciao,
Christian
 

Astrominus

Administrator
Teammitglied
Setze einfach ein "@" vor die File-Funktion, damit werden Fehlermeldungen unterdrückt.

Beispiel:
PHP:
if(!@file("exception_test1.csv"))
 

Galaxydriver

treuer Stammgast
Das ist ja stark!!
Ich habe die if-Anweisung jetzt so umgeschrieben:
if(!@file("exception_test1.csv"))...

und es funktioniert!!

Vielmals Merci!

ciao,
Christian
 
Oben