Innehållsförteckning:
Video: Web Programming - Computer Science for Business Leaders 2016 2024
Realtid HTML5 och CSS3 programmering är farligt. Massor av saker kan gå fel i PHP. Så det smarta sättet att programmera data är defensiv programmering . Denna praxis innebär att man förutser fel och försöker lösa dem graciöst. PHP har några avancerade felhanteringstekniker som är perfekta för uppgiften.
Tänk dig att du skrev en kod som såg så här:
skriv ut 5/0;
Du skulle nog inte göra det, men ibland slår dålig kod igenom. Om din server är konfigurerad för att skicka ut felmeddelanden så ser du något av det här.
Undantagshantering
Det är faktiskt mycket mer på gång än vad du kanske uppskattar först. Standardbeteendet hos många PHP-installationer är att dölja fel. Fel uppstår dock, speciellt om du tillåter användarinmatning. Den här kodlistan fälls explicit för fel och rapporterar dem oberoende av serverns inställningar:
försöka. phpgetMessage ();} // slut försök? >
Här är vad som händer:
-
Använd försöksordet för att indikera potentiellt farlig kod.
Försökets nyckelord öppnar ett block med kod (som en slinga eller ett tillstånd). All kod mellan försök och fångst anses vara potentiellt farlig.
-
Placera farlig kod i försöksblocket.
Varje kod som kan orsaka fel ska placeras inuti försöksblocket. Den farligaste koden innebär vanligtvis saker som programmeraren inte direkt kan styra: tillgång till externa filer, operationer på användardefinierade data eller exponering för externa program och processer.
-
Använd fångstklausulen för att förutse fel.
Fångstklausulen anger slutet på den farliga koden.
-
Ange undantagstypen.
Parametern för fångstklausulen är ett objekt av typen Undantag. PHP har ett antal inbyggda undantag, och ofta innehåller ett bibliotek eller verktygssats nya undantag (du kan även bygga dem själv om du vill).
-
Hantera undantaget.
Fångstklausulen öppnar ett annat kvarter med kod. Sätt in koden här som löser problemet (eller åtminstone dö med lite stil och nåd - informera användaren om vad som gick fel innan du slängde bort den här dödspolen). Den vanligaste raden här är att ringa ut ($ e-> getMessage ()). Alla undantag objekt har en getMessage () -metod, och den här raden rapporterar det aktuella felmeddelandet.
Att veta när man ska fälla för undantag
Om din server är konfigurerad för debugging (som XAMPP är som standard) är det vanligtvis inte nödvändigt att konfigurera undantagshantering eftersom standarduppdateringen för en debug-inställning är att rapportera undantagen ändå.Det finns några gånger du vill fortfarande ha explicit undantagshantering:
-
Du är på en server utan felsökningsinställningar: Du kanske inte har tillgång till serverkonfigurationen, så du kanske inte kan slå på automatisk undantagsrapporter. Manuella undantagsrapporter går fortfarande igenom.
-
Du vill göra något speciellt: Den automatiska undantagshanteraren rapporterar bara problemet. Om du vill göra något annat (säg använd en standardfil om en fil inte hittas) behöver du en anpassad undantagshanterare för den situationen.
-
Du gör något exotiskt: Speciella bibliotek innehåller ofta egna undantag, och du behöver en undantagshanterare för att täcka dessa situationer.