„Frábrigðissýslari“: Munur á milli breytinga

Efni eytt Efni bætt við
Sverrrirp03 (spjall | framlög)
→‎Holl ráð varðandi frábrigði: Maðurinn heitir Marc Brooks ekki March
Hreingeri , typos fixed: einsog → eins og, þessvegna → þess vegna AWB
Lína 2:
 
== Stuðningur við frábrigði í forritunarmálum ==
Mörg forritunarmál hafa stuðning við frábrigðissýslara, t.d. [[C++|C++]], Delphi, [[Java]], [[PHP]], Python og öll .NET forritunarmálin. Fyrir utan smávægilegan blæbrigðamun nota þessi forritunarmál áþekkan rithátt. Algengest er að notaðar séu „try“, „catch“ og „finally“ skipanir. Nánari lýsing hér að neðan.
 
== Algengar skipanir við frábrigði ==
Lína 11:
Á eftir „try“ blokk getur fylgt engin eða margar „catch“ blokkir sem geta sérhæft sig í að afgreiða hver sína tegund af frábrigðum. Fyrst í „catch“ blokkinni er tiltekin tegund af frábrigði og tilvik sem hægt er að nota í blokkinni til að nálgast frekari upplýsingar um frábrigðið. Þegar villu er kastað í „try“ blokkinni er leitað eftir tilheyrandi frábrigðissýslara í „catch“ blokkum. Í „catch“ blokkinni er svo tekið á vandamálinu, ef t.d. frábrigðið er „FileNotFoundException“ gætum við skrifað skipanir í blokkina sem birta notandanum skilaboð um að skráin hafi ekki fundist og boðið honum að leita sjálfur.
 
Ekki er æskilegt að grípa allar villur, t.d. villur einsogeins og „NullPointerException“ er best að láta flæða áfram til stýrikerfis sem stöðvar keyrslu og birtir villuboð.
 
=== Finally ===
Þessi blokk er almennt notuð til að losa um auðlindir. T.d. loka skrá, loka tengingum við net og gagna grunna. Stundum er hámark sett á tengingar við gagnagrunna og er þessvegnaþess vegna nauðsynlegt að hafa ekki fleiri en nauðsyn krefur opnar í einu. Skipanir í þessari blokk er nánst undantekninga laust keyrðar áháð útkomunni í „try“ blokinni. Ef frábrigði kemur upp í „try“ blokk er leitað af tilheyrandi frábrigðissýslara ef hann finnst eru skipanir í honum keyrðar og svo skipanir í „finally“ blokinni, ef engin frábrigðissýslari finnst er farið beinnt í að keyra skipanir í „finally“ blokkinni.
 
Hægt er að nota „try“ og „finally“ blokkir saman án „catch“ blokka, og er þá „finally“ blokkin aðallega til að hreinsa upp auðlindir.
Lína 90:
== Heimildir: ==
<references/>
 
[[Flokkur:Forritun]]