*   >> Læs Uddannelse artikler >> science >> programming

Grundlæggende om Undtagelser i Php

Introduktion Dette er en del 1 af min serie, Undtagelse Håndtering i PHP. I denne del af serien ser vi på det grundlæggende i undtagelser i PHP. Du har brug for grundlæggende viden i PHP og PHP objektorienteret programmering for at forstå denne serie. Hvis du ikke har kendskab til nogen af ​​disse felter derefter fra denne blog, kan du læse serien, hvis første del er titlen, "Kom godt i gang med PHP" og en anden, hvis første del har titlen "OOP Basics i PHP". For at nå nogen af ​​de serier, så skriv titlen og mit navn Chrys i søgefeltet på denne side og klik på Søg.

Bemærk: Hvis du ikke kan se koden, eller hvis du tror noget mangler (brudt link, billede fraværende), bare kontakte mig på [email protected]. Det vil sige, kontakt mig for det mindste problem, du har om, hvad du læser. Runtime Error Eksempel Betragt følgende kode: $ tælleren = 8; $ nævneren = 2; if ($ nævneren = 0!) {$ svar = $ tæller /$ nævner; echo $ svar; } Else {echo "Division med nul er ikke tilladt!"; }?> Denne kode dybest set deler to tal. I livet kan man ikke opdele et nummer med nul. Antages det, at nævneren er input fra brugeren, kan han indtaste nul.

Divisionen (proces) med nul bør ikke tillades. Lad os se på, hvad der er i koden: de to første udsagn er initialisering af heltal. Opdelingen bør finde sted i hvis-blokken. IF-tilstand kontrollerer, om nævneren er nul. Hvis det ikke er tilfældet, opdelingen finder sted i hvis-blokken. Hvis det er, jo ellers en del af, hvis-konstruktionen viser en fejlmeddelelse til brugeren. Denne kode segment er OK, fordi hvis nævneren er nul, hvis-blokken vil ikke blive gennemført, og ingen opdeling vil finde sted.

Med ovenstående kode, udførelsen af ​​programmet fortsætter, efter at hvis /ellers konstruktion. Dette, hvis /ellers konstruktion gør divisionen og forhindrer runtime fejl i at finde sted. Hvis-blok gør spaltningen; IF-tilstand kontrollerer, om fejl ville opstå; hvis fejl ville ske, viser ellers blokere en advarselsmeddelelse, og hvis-blokken og division udføres ikke. Grundlæggende elementer i Undtagelse I enkle vendinger, undtagelse er en fejl. Med undtagelse håndtering, har du hvad der kaldes try /catch konstruktion; består af forsøge at fange blokke.

Den try blok har et vigtigt udtryk, hvilket er, kaste. kast tager et nyt objekt kaldet Undtagelse Objekt. Den Undtagelse objekt er en foruddefineret objekt, der hjælper dig med at håndtere undtagelser. I ovenstående, hvis /else konstruktion, kodesegmentet af interesse, som er det segment kræves, er, hvis-blokken. Dette hvis-blok er hvad betyder divisionen. Med Undtagelse håndtering, at kodesegmentet af interesse går ind i try-blokken; fejlmeddelelsen kodesegmentet eller fejl handleren kodesegmentet går ind i catch-blokken.

Kast udtryk i try-blokken kalder catch-blokken passerer en ny undtagelse objekt til det. Fangsten konstruktion er som en funktion. Dette er den grundlæggende syntaks for håndtering af undtagelser, prøv {//opgørelser af interesse kaste nyt Exception (errorMessage, kode); } Catch (Exception $ e) {//håndtere fejlen} Argumentet for kast udtryk går ikke ind i parentes. Det er en ny undtagelse instantieres objekt, der ikke behøver at have et navn. Du kan vride din kode rundt for at give den et navn, men det er i orden, da det er over. Parametrene for den nye undtagelse objekt er begge valgfri.

Den første er fejlmeddelelsen af ​​dit valg, du ønsker at give til brugeren af ​​programmet. Den anden er et helt tal efter eget valg, der repræsenterer fejlen. Catch-blokken skal følge umiddelbart efter try-blokken i din skrive, som i ovenstående syntaks. Den modtager den nye instantieres undtagelse objekt kastes. Parameteren for catch-blok er, "Undtagelse $ e". Her er ordet, Undtagelse, betyder den type objekt, der modtages, er en undtagelse objekt. $ e er den variable, der identificerer den nye instantierede undtagelse objekt (modtaget i catch-blok).

Det tidligere program er omskrevet ved hjælp af try /catch konstruere som følger: $ tælleren = 8; $ nævneren = 2; prøv {if ($ nævneren = 0!) {$ svar = $ tæller /$ nævner; echo $ svar; } Else {kaste nyt Exception ("Division med nul er ikke tilladt!"); }} Catch (Exception $ e) {e echo $> GetMessage (); }?> Læs og prøv ovennævnte program. Ændre værdien af ​​$ nævneren til nul og prøve programmet igen. Husk, for kast operand ovenfor, de to argumenter konstruktør funktion Undtagelse klassen er valgfri. I denne kode, er kun fejlmeddelelsen af ​​programmøren valg fået.

Hvis programmøren ikke giver dette argument, standard fejlmeddelelsen af ​​"Ukendt undtagelse" ville blive afholdt af den nye instantierede undtagelse objekt. Catch-blokken fanger undtagelsen objekt kastes som parameter (argument), $ e. Den Undtagelse klasse har en metode, der ville læse den fejlmeddelelse, du har skrevet under instantiering af den nye undtagelse objekt. Navnet på metoden er, GetMessage. Catch-blokken over blot ekkoer meddelelsen. Læs gennem ovenstående kode igen.

I mange tilfælde er try-blokken tilsvarende har en hvis-tilstand, hvis blok vil udføre, hvis betingelsen ikke registrerer fejlen. Hvis tilstanden registrerer fejl, vil hvis-blokken ikke køre, og ellers en del vil kaste undtagelsen; det vil sige, vil ellers del kalder catch-blokken sende argumentet (instantieret undtagelse objekt) i kast udtryk for det. Fangsten blok bruger argumentet for at vise en relevant fejlmeddelelse (skrevet i løbet af instantiering) til brugeren. Dette er, hvad der sker i mange tilfælde.

Fejl er normalt ikke håndteres i den virkelige betydning af ordet; normalt en fejlmeddelelse sendes til brugeren, en if-konstruktion i try-blok forhindrer fejl fra rent faktisk opstår. Efter denne henrettelse, fortsætter programmet i rækkefølge fra try /catch konstruktion; og der er ingen opsigelse af programmet, selvom blev registreret en fejl.

Kast Expression i en funktion Du kan sætte hvad du har brug for try blok i en funktion som illustreret nedenfor: $ tælleren = 8; $ nævneren = 2; fungere errFn () {if {$ svar = $ tæller /$ nævner ($ nævneren = 0!); echo $ svar; } Else {kaste nyt Exception ("Division med nul er ikke tilladt!"); }} Prøv {errFn (); } Catch (Exception $ e) {echo $ e-> GetMessage (); }?>

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Læs Uddannelse artikler,https://uddannelse.nmjjxx.com All rights reserved.