Heim > Artikel > Backend-Entwicklung > Wie implementiert man eine benutzerdefinierte Funktion in PHP, ohne einen Fehler auszulösen, wenn @ enthalten ist?
In einigen in PHP integrierten Funktionen (z. B. mkdir
) kann das Hinzufügen von @ vor die von der Funktion ausgegebenen Fehler maskieren
Wie erreichen benutzerdefinierte Funktionen dies?
Ich habe throw new Exception
und trigger_error
ausprobiert, aber sie konnten nicht von @
ist so. Ich möchte zum Beispiel eine JsonFile::get()
-Methode schreiben, die einen Fehler auslöst, wenn die Datei nicht existiert, einen Fehler auslöst, wenn der Pfad unzulässig ist, einen Fehler auslöst, wenn die Dekodierung fehlschlägt, und falsch
@JsonFile::get()
Rufen Sie so an
Oder vielleicht ist meine Denkweise nicht gut? Gibt es eine bequeme und sinnvolle Implementierungsmethode?
) kann das Hinzufügen von @ vor die von der Funktion ausgegebenen Fehler maskierenmkdir
Ich habe
und throw new Exception
ausprobiert, aber sie konnten nicht von trigger_error
@ blockiert werden
-Methode schreiben, die einen Fehler auslöst, wenn die Datei nicht existiert, einen Fehler auslöst, wenn der Pfad unzulässig ist, einen Fehler auslöst, wenn die Dekodierung fehlschlägt, und falsch JsonFile::get()
Wenn der Benutzer sich um die Fehlermeldung kümmert, kann er sie selbst abfangen und bearbeiten; wenn der Benutzer sich nicht um die Fehlermeldung kümmert und nur den Dateiinhalt oder falsch (Fehler) erhalten möchte, kann er
Rufen Sie so an@JsonFile::get()
Hauptsächlich aus Bequemlichkeitsgründen. Wie implementiert man eine solche benutzerdefinierte Methode (oder Funktion)?
Warnung: mysql_connect() [function.mysql-connect]: Zugriff für Benutzer „falscher Benutzername“@„localhost“ (mit Passwort: JA) in D:Projectsns1.php in Zeile 4 verweigert
<code><?php function test($abc){ mysql_connect("localhost", "用户名错误", "密码错误"); } function test2($abc){ mysql_connect("localhost", "用户名错误", "密码错误"); } test("abc"); @test2("abc"); ?></code>
test2 hat keine Warnung ausgegeben.