ved hjælp af prøve... endelig at undgå ressource lækager

, denne artikel omhandler delphis prøve... konstruerer, når i skal bruge, og hvordan castalia gør det lettere at anvende.,,, (oprindeligt offentliggjort på delphi-expert.com i marts 16, 2004), i en branche, som er ved at undersøge en masse kildekode. jeg bemærker fælles vaner og tendenser, der er i kode.nogle gange disse vaner er gode, som bruger påstande.nogle gange vaner er dårlige, som ved hjælp af etiketter og gotos.nogle gange, koden er ganske enkelt mangler nogle meget vigtige elementer, som enten skyldes dovenskab eller utilstrækkelig forståelse af programmør, som skrev den kode.et af disse begreber, der er meget stærk, men ofte overset, og undertiden misbruges, er delphis " prøv " konstruktion.i løbet af de næste par uger, vi kommer til at se på, hvad disse konstruktioner, og hvordan man bruger dem, og hvordan castalia kan hjælpe dig bruge dem effektivt og ikke forsømmer dem. i denne uge, vil vi fokusere på prøve... endelig opbygge.i næste uge vil vi gå i detaljer med prøve... bortset fra, herunder en historie om begrebet undtagelser.vi vil også gøre nar af java, som kan lære os meget med sine over toppen håndtering af undtagelser mekanisme.,, indledningen, nogle gange er det nødvendigt at sikre, at visse ting, der er gjort for at fuldføre en opgave uafhængigt af fejl, der kan være sket under udførelsen af opgaven.hvis for eksempel en rutinemæssig tager kontrol af en ressource, som det sædvanligvis er nødvendigt for rutinemæssig til at frigive de ressourcer, selv om der opstår fejl i processen.for eksempel, i det følgende kode, en fil f er åbnet en tekst er skrevet til det, og så er det lukket.ikke at lukke sagen, ville resultere i en ressource lækage, og det ville være et første klasse insekt.,,,,, at nulstille, (f);,,, writeln (f,,,'hello, verden! ",,.,,, closefile, (f);,,,,, koden virker fint, så længe hver enkelt funktion udfører normalt, men hvis der sker noget unormalt, bliver der ballade.hvis for eksempel nulstille (f) er vellykket, men af en eller anden grund til at writeln svigter, rutine vil exit - uden nogensinde at forsøge at closefile (f).som et resultat af den fil, aldrig vil blive lukket, og en ressource er blevet lækket. hvordan skal vi løse dette problem?writeln ikke giver nogen fejlkontrol mekanisme, som nogle rutiner gør (mere om det i næste uge.det blot udfører, og hvis noget går galt, det skaber en undtagelse (mere om det i næste uge.i en nøddeskal, en undtagelse er en unormal tilstand i gennemførelsen af et program, der forårsager den strøm af programmet afbrydes.det, vi har brug for, er en måde til at sikre, at closefile (f) bliver kaldt, selv om en undtagelse finder sted.det er præcis, hvad de prøver... konstruerer er til.finder den samme kode, men med den beskyttede strømningsregulering af en prøve til blok:,,,,, at nulstille, (f),,,,,,,,,,,, writeln (f,,,'hello, verden! ",,,,,,,,,,,,, closefile endelig, (f),,,,,,,,,,,,,, nu, vi har sikret, at closefile (f) vil blive kaldt, uanset hvad der sker i opfordringen til at writeln.nu til en mere formel definition, lige fra delphi hjælp:,, syntaks i en prøve... endelig udtalelse er prøve, statementlist1 endelig statementlist2, ende, hvor hver, statementlist, er en række erklæringer, afgrænset ved semikolon.den prøve... endelig erklæring gennemfører erklæring, statementlist1 (prøve, afsnit).hvis statementlist1, afsluttes, uden at der, statementlist2 (endelig bestemmelse) er gennemført.hvis en undtagelse er rejst under gennemførelsen af statementlist1, - kontrol er overført til, statementlist2,; når, statementlist2, slutter fuldbyrdende, med undtagelse af forhøjede igen.hvis en opfordring til udgang, pause, eller fortsætte procedure forårsager kontrol til at forlade, tatementlist1,, statementlist2, automatisk er henrettet.dermed endelig bestemmelse er altid blevet henrettet, uanset hvordan den prøve, afsnit opsiger., nu, hvor vi har en forståelse af den prøve... konstruerer og ved at bruge det, lad os se på, hvordan castalia kan hjælpe.,,, kode skabeloner,,, castalia indeholder en række kode skabeloner at inddrage prøve... endelig opbygge.når først er installeret, castalia omfatter, tryf, og trycf, - modeller.det, tryf, model skaber en enkelt skelet til prøve blok.at bruge tryf skabelon, ganske enkelt type " tryf " redaktør, og pres spacebar.skeletal kode indsættes:,,,,,,,,,,,



Previous:
Next Page: