Indholdsfortegnelse:
Video: Technology Stacks - Computer Science for Business Leaders 2016 2025
Real-life HTML5 og CSS3 programmering er farlig. Masser af ting kan gå galt i PHP. Så den kloge måde at programmere data på er defensiv programmering . Denne praksis indebærer at forudse fejl og forsøger at løse dem yndefuldt. PHP har nogle avancerede fejlhåndteringsteknikker til rådighed, som er perfekte til opgaven.
Forestil dig at du skrev en kode, der så så ud:
print 5/0;
Du sandsynligvis ikke ville gøre det, men undertiden slår dårlig kode igennem. Hvis din server er konfigureret til at videresende fejlmeddelelser, vil du se noget som dette.
Undtagelsesbehandling
Der er faktisk meget mere på spil end du måske værdsætter først. Standardpraksis for mange PHP-installationer er at skjule fejl. Der opstår dog fejl, især hvis du tillader brugerindgang. Denne kode liste eksplicit fælder for fejl og rapporterer dem uanset server indstillinger:
prøve. phpgetMessage ();} // ende forsøg? >
Her er hvad der sker:
-
Brug forsøgsordet til at angive potentielt farlig kode.
Prøvet søgeord åbner en blok kode (som en loop eller en tilstand). Al koden mellem prøve og fangst betragtes som potentielt farlig.
-
Anbring farlig kode i prøveblokken.
Enhver kode, der kan forårsage fejl, skal placeres inde i prøveblokken. Den farligste kode involverer normalt ting, som programmøren ikke direkte kan kontrollere: adgang til eksterne filer, operationer på brugerdefinerede data eller eksponering for eksterne programmer og processer.
-
Brug fangstklausulen til at forudse fejl.
Fangstklausulen angiver slutningen af den farlige kode.
-
Angiv undtagelsestypen.
Parameteren for fangstklausulen er et objekt af typen Undtagelse. PHP har en række indbyggede undtagelser, og ofte vil et bibliotek eller værktøjssæt indeholde nye undtagelser (du kan også opbygge dem selv, hvis du vil).
-
Administrer undtagelsen.
Fangstklausulen åbner en anden blok kode. Indsæt koden her, der løser problemet (eller i det mindste dør med en lille stil og nåde - informerer brugeren, hvad der gik galt, før du skubber væk fra denne dødelige spiral). Den mest almindelige linje her er at kalde print ($ e-> getMessage ()). Alle undtagelsesobjekter har en getMessage () -metode, og denne linje rapporterer den aktuelle fejlmeddelelse.
Kendskab til, hvornår man skal fælde for undtagelser
Hvis din server er konfigureret til debugging (som XAMPP er som standard), er det normalt ikke nødvendigt at oprette undtagelseshåndtering, fordi standardopdateringen til en fejlretningsopsætning er at anmelde undtagelserne alligevel.Der er et par gange, du vil stadig have eksplicit undtagelseshåndtering:
-
Du er på en server uden fejlretningsindstillinger: Du har muligvis ikke adgang til serverkonfigurationen, så du kan muligvis ikke tænde automatisk undtagelsesrapporter. Manuelle undtagelsesrapporter kommer stadig igennem.
-
Du vil gøre noget særligt: Den automatiske undtagelseshandler rapporterer blot problemet. Hvis du vil gøre noget andet (f.eks. Brug en standardfil, hvis en fil ikke findes), skal du bruge en brugerdefineret undtagelseshåndterer til denne situation.
-
Du laver noget eksotisk: Særlige biblioteker kommer ofte med deres egne brugerdefinerede undtagelser, og du skal bruge en undtagelseshåndterer til at dække disse situationer.