perusteet PHP - Osa 15 Johdanto Tämä on osa 15 minun sarja, perusteet PHP. Tässä osa sarjasta, katsomme perusteet virheitä. Huomautus: Jos et näe koodia tai jos luulet jotain puuttuu (rikki linkki, kuva poissa), vain yhteyttä minuun [email protected]. Eli minuun yhteyttä pienintäkään ongelmaa olet mitä luet. Ohjelmointivirheitä olemassa kolmenlaisia ohjelmointivirheitä. Toisin sanoen, on olemassa kolmen tyyppisiä virheitä, joita voi esiintyä ohjelmaan. Sinulla on syntaksivirheitä, Logic Virheet ja Kesto virheet. Syntaksivirheitä Tämä on väärä käyttö syntaksin.
Nämä virheet ovat väärässä lausuntoja. Kun kirjoitat lausunto, joka on väärin, että on virhe. Tällainen ilmoitus ei voida suorittaa. Esimerkiksi selvitys voit kirjoittaa muuttuja ilman $ merkkiä. Tässä tilanteessa, sinun ohjelma ei toimi. Riippuen siitä, kuinka voit määrittää PHP asennus, tällainen virhe voi osoittaa PHP lähtöön laitteen juuri ennen ohjelman halutaan suorittaa, kun annat komennon ohjelman suorittamiseen. Jossa syntaksivirhe, ohjelma ei suoriteta. Ennen PHP suoritetaan, on jonkin verran pienin kokoelma, joka tapahtuu.
Syntaksivirheitä olisi huomasi PHP kääntäjä ja raportoitu, ja toteutus (tulkinta) Ohjelman ei tapahdu. Logic virheet Tässä tapauksessa PHP tulkki ymmärtää ohjelma hyvin ja se toteuttaa ohjelman. Kuitenkin ohjelma ei tee mitä halusi tehdä. Se tekee jotain hieman erilaista tai täysin eri. Vika on sinun. Esimerkiksi, silmukka, joka on velvollinen tekemään 10 toistojen voisi tehdä 5 toistojen, koska olet koodattu se virheellisesti tehdä 5 toistojen. Toinen esimerkki on, että silmukka voi kerrata äärettömän, koska ehto annoit varten silmukka on väärä.
Logiikka virheitä tapahtuu, kun ohjelma on toteutettu (tulkita). Ainoa tapa ratkaista tämä ongelma on testata ohjelmaa hyvin ennen annat sen asiakkaalle (joka pyysi sitä). Kesto virheet runtime virheitä esiintyy, kun ohjelma on toteutettu seurauksena se, että et ota tiettyjä tekijä huomioon koodausta. Esimerkiksi, sanokaamme koodi on jakaa 8 joidenkin nimittäjä, että käyttäjä syöttää. Jos käyttäjä syöttää 2, jako toimii, antaa sinulle 4 kuin vastaus. Jos käyttäjä syöttää nollaan, jako ei toimi, koska 8/0 on määrittelemätön. Kun runtime virhe ohjelmasi normaalisti kaatuu (ja pysähtyy).
Voit ratkaista runtime virheitä, sinun täytyy kirjoittaa koodia, joka teloituksen estämiseksi kyseisen koodin segmentti tapahtuu. Tässä divisioonassa esimerkissä, sinun täytyy kirjoittaa koodi, joka estää nollalla käyminen, ja mahdollisesti tiedotetaan käyttäjälle virheen hän teki syöttämällä nolla nimittäjä. Estäminen Kesto virheet Runtime virheet estetään käyttäen ns try-catch lohkoja. Aiomme käyttää esimerkkinä jakamalla 8 nimittäjä havainnollistaa tätä. Harkitse seuraava koodi: $ input = 2; try {jos ($ panos == 0) throw new Exception ("Jako nollalla ei ole sallittua.
"); $ Var = 8 /$ tulo; echo $ var; } Catch (Exception $ e) {echo "Virhe:", $ e> GetMessage (); }?> Kokeile edellä koodi. Sinun pitäisi olla 4 kuin vastaus, näyttöön. Nyt muuttaa arvoa $ tulomuuttuja alussa koodin 0. Sinun pitäisi olla teksti "Error: Jako nollalla ei ole sallittua." näyttöön. Koodi jakaa 8 arvo $ tulomuuttuja. Kun arvo $ tulomuuttuja ei ole nolla, kaikki on hyvin. Kun arvo on nolla, että on virhe, ja niin ohjelma ei saa kaatua. Koodi on kirjoitettu estää ohjelman kaatuminen. On neljä asiaa huomaa siitä yllä oleva koodi.
On try-lohkon; on catch-lohko; on objekti luotu luokan nimeltä Poikkeus; ja siellä on Julkilausumassa vaaditaan heittää julkilausuman ympärillä alussa yrittää estää. Try-lohkon alkaa varattu sana, yritä, niin sinulla on pari aaltosulkeiden. Tilinpäätös yrittää lohkon ovat aaltosulkeita. Saalis-lohko alkaa varattu sana, saalis. Se on suluissa parametrin. Parametri on muuttuja, jota edeltää muuttuja tyyppi (emme ole nähneet tämän muuttujan tyyppi ennen). Saalis-lohko on pari aaltosulkeita. Tilinpäätös catch mennä aaltosulkeiden.
Ensimmäinen toteamus try-lohkon on if-lause yhdistettynä ns heittää julkilausuman? Ajatuksena on, että voit tarkistaa, jos $ tulo muuttuja on nolla. Jos se on nolla, niin heittää lauseke suoritetaan estää kaatumisen. Kun heitto lauseke suoritetaan, sanomme poikkeus on heitetty. Kun poikkeus on heitetty, lausunnot alla heittää lausuman yrittää lohkossa ei suoriteta; kun lausunnot catch-lohko on toteuttaa; että on, kun tapahtuu virhe, lausunnot alla heittää lausuman try-lohkon ei toteuteta, kun catch-lohkon täytyy suorittaa käsittelemään ongelmaa.
Jos virhe tapahtuu (tässä tapauksessa, panos ei ole nolla), niin poikkeus ei heitetä. Jos poikkeus ei heitetä, lausunnot alla heittää lausunnot try-lohkon toteutetaan, ja catch-lohko ei suoriteta. Try-lohkossa on normaali lausuntoja suoritettavaksi ratkaista tehtävän vaatima ohjelman. Tällaiset lausumat toteutetaan sillä edellytyksellä, että virhettä ei ole tapahtunut. Catch on lausumat voidaan teloittaa, jos virhe. Yleensä mitä catch ei ole, että se yksinkertaisesti ilmoittaa käyttäjälle, että on tapahtunut virhe lyhyt kuvaus virheestä.
Jos havaitaan virhe yrittää estää ja catch suoritetaan kuten edellä koodi, niin ohjelma kaadu. Toistan, yleensä, catch-lohko ei tehdä paljon enemmän kuin näyttää lyhyen virheilmoituksen käyttäjälle. Ehkäisy Crash on seurauksena se, että normaali lausunnot yrittää lohkossa ei toteuteta ja catch-lohko suoritetaan. Johdatus Poikkeus luokan on luokan nimeltä Poikkeus luokan. Tämä luokka on hyvä jäsenmäärä ja menetelmiä. Tämän perus opetusohjelmassa me puhua vain yksi sen jäsenistä. Jäsenellä on virheilmoitus haluat antaa käyttäjälle. Sinä, ohjelmoija, olet se, joka päättää virheilmoituksen.
Voit syöttää virheilmoituksen kun luot objektin luokan. Luot objekti samalla että olet heittää poikkeus. Edellä mainituissa koodi, olemme, heittää uusi poikkeus ("Jako nollalla ei ole sallittua.") Tässä varattu sana, heittää, on heittää poikkeus. Poikkeuksena on esine, joka voi olla virheilmoituksen ja muita asioita. Tässä opetusohjelmassa, pidämme vain virheilmoitus. Luoda poikkeuksen esine, aloitamme operaattorin, uusi. Tätä seuraa, jonka nimi luokan, Exception; sitten suluissa. Suluissa, kirjoitat virheilmoituksen lainausmerkkeihin.
Poikkeus luokka on rakentaja menetelmä, joka antaa tämän virheen viestin arvoa yhden jäsenistään (yksi sen muuttujat). Tämä poikkeus esine heitetään jäädä kiinni olevan catch-lohkoon. Joten jos-selvitys havaitsee virheen, heittää poikkeus esine, joka tietää virhe ja catch-lohkon saaliit poikkeus objekti. Saalis-lohko käyttää tietoja poikkeus objekti loppuun virheiden käsittelyä. Saalis-lohko saalis on kuin funktio. Se on suluissa, jossa on parametri. Parametri on muuttuja poikkeus objektin. Voit valita mitä nimi haluat muuttujan, ja sen eteen $ merkki. Voit ennen muuttuja sanalla, poikkeus.
Tämä tarkoittaa tyyppinen muuttuja on poikkeus. Heitto-selvitys on kuin kutsu catch-lohkoon. Edellä mainituissa koodi, meillä on kaiku julkilausuman. Kaiku konstrukti vie pilkuilla eroteltu luettelo argumentteja. Tässä tapauksessa ensimmäinen argumentti on merkkijono "Virhe:". Tämä merkkijono näytetään ensin selain. Tämä merkkijono osoittaa käyttäjälle, että on virhe. Kuvaus virheestä seuraa seuraava argumentti. Tämä seuraava argumentti kaiku konstrukti on paluu arvo menetelmän poikkeuksen objektin.
Mitä meillä on täsmälleen: $ e>