So bewerben Sie sich an, einen Block in PHP zu fangen

So bewerben Sie sich an, einen Block in PHP zu fangen
Ausnahmebehandlung ist ein sehr wichtiges Merkmal einer objektorientierten Programmierung. Wenn ein logischer oder Systemfehler nach dem Ausführen eines Code eintrifft, wird er als Ausnahme bezeichnet, und die Technik, mit der der Codierer die Fehler korrekt verarbeiten kann. Es wird verwendet, um unerwartete Ergebnisse der Endbenutzer zu vermeiden, die Anwendungssicherheit zu verbessern und vordefinierte Fehler effizient zu behandeln. Diese Funktion wird von PHP von Version 5 unterstützt. Versuchen Und fangen Block wird verwendet, um Ausnahmen in objektorientierter Programmierung zu verarbeiten. Versuchen Block wird verwendet, um die Ausnahme auszulösen, wenn ein Fehler auftritt und fangen oder Endlich Block wird verwendet, um die Ausnahme in PHP zu behandeln. Dieses Tutorial hilft Ihnen dabei, die Verwendung von Ausnahmebehandlung von objektorientiertem Programmieren mithilfe von PHP zu lernen.

Versuchen Sie es Block

PHP hat eine Basisklasse mit dem Namen Ausnahme und Ausnahmen werden aus geworfen versuchen Block nach Ausnahme oder Unterklasse von Ausnahme Klasse.

Syntax:

versuchen

//Haupt code

Block fangen

Fangen Block erscheint nach versuchen Block. PHP unterstützt mehrere fangen Blöcke, um mehrere Ausnahmen zu verarbeiten. Wenn eine Ausnahme ausfällt, versucht PHP, mit dem ersten Fangblock zu übereinstimmen.

Syntax:

versuchen

//Haupt code

fangen (Ausnahme $ e)

// Fehlerbehandlungscode

Endlich blockieren

Schließlich kann Block danach verwendet werden oder anstatt Block in PHP zu fangen, und dieser Block wird ausgeführt, wenn Try -Block -Exits. Jeder Normal- oder Terminierungscode kann diesem Block hinzugefügt werden, nachdem der Code von Try Block ausgeführt wurde.

Syntax:

versuchen

//Haupt code

fangen (Ausnahme $ e)

// Fehlerbehandlungscode

Endlich

// Normaler Code

Beispiel 1: Verwenden Sie den Try-Catch-Block für einfachen Fehler

Das folgende Beispiel zeigt die Verwendung eines Try-Catch-Blocks für eine einzige Ausnahme. Erstellen Sie eine PHP -Datei mit dem folgenden Skript. Der Wert des Abfrageparameters 'num'wurde im Try -Block gelesen und überprüft. Wenn der Wert unter 10 liegt, wirft der Try -Block eine Ausnahme in den Catch -Block aus. Andernfalls wird der Wert gedruckt. Catch Block fängt die Ausnahme an und druckt die Nachricht aus dem Try -Block senden. Wenn kein Abfrageparameter übergeht, beträgt der Standardwert 100.

// testen Sie die Nummer beträgt 10 oder mehr
versuchen

if (isset ($ _ get ['num'])))
// Lesen Sie den Wert aus der URL
$ n = $ _get ['num'];
anders
// Setzen Sie den Standardwert
$ n = 100;
if ($ n <10)

// Wenn die Ausnahme ausfällt, zeigt Catch Block die folgende Fehlermeldung an
Neue Ausnahme auswerfen ("

Die Nummer muss 10 oder mehr betragen.

");

anders

// führt diese Zeile aus, wenn kein Fehler angezeigt wird.
Echo "

Die Zahl ist $ n

";


// fangen Sie die Ausnahme von Try Block auf
fangen (Ausnahme $ e)

// Drucken Sie die Fehlermeldung aus Try Block übergeben
echo $ e-> getMessage ();

?>

Ausgang:

Führen Sie das Skript ohne Abfrageparameter aus.

http: // localhost/phpCode/trycatch1.Php

Führen Sie das Skript mit einem Abfrage -Parameterwert aus, der weniger als 10 beträgt.

http: // localhost/phpCode/trycatch1.Php?Num = 5

Führen Sie das Skript mit einem Abfrage -Parameterwert aus, der größer als 10 ist.

http: // localhost/phpCode/trycatch1.Php?Num = 15

Beispiel-2: Umgang mit mehreren Fehlern durch Erben der Ausnahmeklasse

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, um die mehrfachen Ausnahmen mithilfe mehrerer Fangblocks zu verarbeiten. Eine Unterklasse namens 'myexception"Wurde durch Erweiterung der Basisklasse erstellt"Ausnahme'um mit dem' umzugehen 'Ungültiger URL -Fehler''. Die Basisklasse Ausnahme wurde zum Handling verwendet 'Leerer URL -Fehler''.

// eine Unterklasse -Myexception deklarieren, indem sie die Ausnahmeklasse erweitert
Klasse myException erweitert die Ausnahme
// Stellen Sie die Fehlermeldung im Konstruktor ein
Öffentliche Funktion __construct ($ message = null, $ code = 0)
$ this-> message = $ message;

// Die Fehlermeldung anzeigen
öffentliche Funktion display_error ()

echo '

''.$ this-> Nachricht.'Ist keine gültige URL -Adresse

';


versuchen

// Setzen Sie die URL
$ url = isset ($ _ get ['url'])?$ _Get ['url']: "https: // linuxhint.com ";
// Überprüfen Sie, ob die URL -Adresse leer ist oder nicht
if ($ url == "")
// Wenn die URL -Adresse leer ist, wird die folgende Fehlermeldung ausgeführt
Neue Ausnahme auswerfen ("

URL -Adresse ist leer.

");

// Überprüfen Sie, ob die URL -Adressen gültig oder ungültig sind
elseif (!filter_var ($ url, filter_validate_url))
// Wenn die URL -Adresse ungültig ist, wird eine Ausnahme mit ungültiger URL -Adresse werfen
Neue Myexception ($ url) werfen;

anders

// Nachricht für eine gültige URL -Adresse drucken
Echo "

".$ url."Ist eine gültige URL -Adresse

";


// Behandle ungültige URL -Ausnahme
catch (myException $ e)
// Rufen Sie die Methode der Unterklasse an, um die Fehlermeldung zu drucken
echo $ e-> display_error ();

// leere URL -Ausnahme behandeln
fangen (Ausnahme $ e)

// Fehlermeldung für leere URL -Adresse drucken
echo $ e-> getMessage ();

?>

Ausgang:

Führen Sie das Skript ohne Abfrageparameter aus.

http: // localhost/phpCode/trycatch2.Php

Führen Sie das Skript mit einem Abfrageparameter mit dem Namen URL ohne Wert.

http: // localhost/phpCode/trycatch2.Php?URL =

Führen Sie das Skript mit einem Abfrageparameter mit dem Namen URL mit einem ungültigen URL -Wert.

http: // localhost/phpCode/trycatch2.Php?URL = Google

Führen Sie das Skript mit einem Abfrageparameter mit dem Namen URL mit einem gültigen URL -Wert.

http: // localhost/phpCode/trycatch2.Php?url = http: // google.com
Bild

Beispiel-3: Dateifehler mithilfe von Try, Fang und schließlich blockieren

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, um die Verwendung von Try, Fang und schließlich zu kennen. Das Skript wird versucht, den Datei -Test zu öffnen.TXT 'und Try Block löst eine Ausnahme aus, wenn die Datei nicht am aktuellen Ort vorhanden ist oder nicht öffnen kann. Der Catch -Block druckt die Fehlermeldung aus dem Try -Block aus. Der Code des endgültigen Blocks schließt den Dateihandler, nachdem er den Try -Block ausgeführt hat. Versuchen Sie Block, drucken Sie den Inhalt der Datei, wenn kein Fehler angezeigt wird.

error_reporting (0);
versuchen

// Versuchen Sie, eine Datei zum Lesen zu öffnen
$ file_handler = fopen ("Test.txt "," r ");
Wenn(!$ file_handler)

// Wirf die Ausnahme, wenn die Datei nicht öffnen kann
Neue Ausnahme auswerfen ("

Die Datei kann nicht geöffnet werden.

");

anders

// Drucken Sie den Centent der Datei aus
während(!feof ($ file_handler))

echo fgets ($ file_handler) . "
";

fcLose ($ file_handler);


fangen (Ausnahme $ e)
// Drucken Sie die Fehlermeldung zum Öffnen der Dateifehlerausnahme aus
echo $ e-> getMessage ();

Endlich

// Meldung der Beendigung drucken
Echo "Programm beendet.";

?>

Ausgang:

Führen Sie das Skript aus.

http: // localhost/phpCode/trycatch3.Php

Beispiel-4: Verwenden Sie einen verschachtelten Try-Catch-Block

Erstellen Sie eine PHP-Datei mit dem folgenden Skript, um die Art und Weise zu kennen. Das Skript überprüft den Wert einer URL, der eine Zahl ist oder nicht im ersten Versuchs-Catch-Block, und die Nummer mehr als 100 oder nicht wird im zweiten Try-Catch-Block überprüft.

if (isset ($ _ get ['n']))

// Der erste Versuchsblock
versuchen
$ number = $ _get ['n'];
if (is_numeric ($ number))

// der zweite Versuchsblock
versuchen
if ($ number> = 100)
// Die Erfolgsnachricht ausdrucken
echo "Die Nummer ist gültig.";

anders
Neue Ausnahme auslegen ('Die Nummer ist ungültig.');


fangen (Ausnahme $ e)
// den zweiten Fehler drucken
echo $ e-> getMessage ();


anders

Neue Ausnahme auslegen ('Der Wert ist keine Zahl.');


fangen (Ausnahme $ e)
// Den Firt -Fehler drucken
echo $ e-> getMessage () . "
";


anders
echo "Keine Zahl hat gegeben.";
?>

Ausgang:

Führen Sie das Skript ohne Abfrageparameter aus.

http: // localhost/phpCode/trycatch4.Php

Führen Sie das Skript mit dem Parameterwert von Abfrage weniger als 100 aus.

http: // localhost/phpCode/trycatch4.Php?n = 78

Führen Sie das Skript mit dem Parameterwert von Abfrage größer als 100 aus.

http: // localhost/phpCode/trycatch4.Php?n = 112

Beispiel-5: Verwenden Sie den Try-Catch-Block mit der Funktion

Erstellen Sie eine PHP-Datei mit dem folgenden Skript, um die Verwendung des Try-Catch-Blocks mit der Funktion zu kennen. Das Skript enthält zwei numerische Werte aus den URL-Abfrageparametern, und der Try-Catch-Block ruft eine Funktion auf, die eine Ausnahme ausführt, wenn das “Durch Null teilen" ein Fehler ist aufgetreten.

// Funktion zur Berechnung der Division definieren
Funktionsabteilung ($ a, $ b)
$ result = $ a/$ b;
Wenn(!$ Ergebnis)
// Ausnahme für das ungültige Ergebnis auslegen
Neue Ausnahme auslegen ('Division von Zero.');
anders
Echo "

Das Ergebnis von $ a/$ b = $ Ergebnis

";

if (isset ($ _ get ['n1']) && isset ($ _ Get ['n2'])))

versuchen
$ number1 = $ _get ['n1'];
$ number2 = $ _get ['n2'];
// Aufruffunktion, die den Fehler prüft
Abteilung ($ Nummer1, $ Nummer2);

catch (divictByZeroError $ e)
// Die Fehlermeldung drucken
echo '

Fehler: ', $ e-> getMessage () ","

";


anders
echo "Eine oder mehrere Zahlen wurden nicht bereitgestellt.";
?>

Ausgang:

Führen Sie das Skript ohne Abfrageparameter aus.

http: // localhost/phpCode/trycatch5.Php

Führen Sie das Skript mit den Parameterwerten der Abfrage 10 und 5 aus.

http: // localhost/phpCode/trycatch5.Php?N1 = 10 & n2 = 5

Führen Sie das Skript mit den Parameterwerten der Abfrage 10 und 0 aus.

http: // localhost/phpCode/trycatch5.Php?N1 = 10 & n2 = 0

Beispiel-6: Die Fehlermeldung im Detail für benutzerdefinierte Ausnahme anzeigen

Erstellen Sie eine PHP -Datei mit dem folgenden Skript, um die Fehlermeldung ausführlich anzuzeigen, indem Sie verschiedene Methoden der Ausnahmeklasse verwenden. Das Skript nimmt den Dateinamen aus dem URL.

if (isset ($ _ get ['fn']))

versuchen
$ Dateiname = $ _get ['fn'];
Wenn(!Datei_exists ($ Dateiname))

Wirf eine neue Ausnahme ('Datei existiert nicht.');


fangen (Ausnahme $ e)
// Fehlermeldung in Details anzeigen
echo '
Dateinamen: '.$ e-> getFile ().
''
Fehler auf Zeilennummer aufgetreten: '.$ e-> getline ().
''
Fehlermeldung: '.$ e-> getMessage ();

Endlich
Echo "
Überprüfen Sie eine andere Datei.";


anders
Echo "Dateiname hat nicht gegeben.";
?>

Ausgang:

Führen Sie das Skript ohne Abfrageparameter aus.

http: // localhost/phpCode/trycatch66.Php

Führen Sie das Skript mit dem Abfrageparameter aus, der den nicht existierenden Dateinamen enthält.

http: // localhost/phpCode/trycatch66.Php?fn = Text.txt

Führen Sie das Skript mit dem Abfrageparameter aus, der den vorhandenen Dateinamen enthält.

http: // localhost/phpCode/trycatch66.Php?FN = Trycatch5.Php

Abschluss

Die grundlegenden Verwendungen des Try-Catch-Blocks wurden in diesem Tutorial mit sehr einfachen PHP-Skripten erläutert. Ich hoffe.