Delphi: Break, Exit, Continue og Abort. Hva var forskjellen igjen?
Submitted by alfjorgen on tir, 16/09/2008 - 21:25
Det er lett å gå litt i surr av disse RTL-prosedyrene, da navnene har nokså lik betydning. De gjør forskjellige ting, men alle foretar hopp i koden på et vis. Lag et bokmerke til denne siden, så du kan finne den raskt igjen når du trenger den!
Det er verd å huske på at slike prosedyrer skal brukes med stor forsiktighet. Koden blir fort uoversiktlig med utstrakt bruk av funksjoner som hopper rundt i koden. Aller verst er Goto, den skal du ikke bruke. Jeg vil ikke en gang fortelle hvordan den virker.
Break:
Hopper ut av en loop selv om den kanskje egentlig ikke var ferdig.
Hvis du for eksempel leter etter et bestemt element i en liste kan du hoppe ut av loopen når du finner det aktuelle elementet. Da sparer du tid ved at du slipper å lete igjennom resten av lista.
Exit:
Hopper ut av gjeldende funksjon eller prosedyre. Kommer programmet til en Exit i en funksjon vil den returnere den siste verdien Result ble satt til.
Continue:
Tvinger fram ny iterasjon i en løkke. Eventuell kode som kommer etter kall til Continue kjøres ikke i den iterasjonen der Continue inntreffer.
Abort:
Brukes i en try-except eller try-finally. Abort kaster et stille exception, som håndteres av koden i except eller finally.
Det er verd å huske på at slike prosedyrer skal brukes med stor forsiktighet. Koden blir fort uoversiktlig med utstrakt bruk av funksjoner som hopper rundt i koden. Aller verst er Goto, den skal du ikke bruke. Jeg vil ikke en gang fortelle hvordan den virker.
Break:
Hopper ut av en loop selv om den kanskje egentlig ikke var ferdig.
Hvis du for eksempel leter etter et bestemt element i en liste kan du hoppe ut av loopen når du finner det aktuelle elementet. Da sparer du tid ved at du slipper å lete igjennom resten av lista.
Exit:
Hopper ut av gjeldende funksjon eller prosedyre. Kommer programmet til en Exit i en funksjon vil den returnere den siste verdien Result ble satt til.
Continue:
Tvinger fram ny iterasjon i en løkke. Eventuell kode som kommer etter kall til Continue kjøres ikke i den iterasjonen der Continue inntreffer.
Abort:
Brukes i en try-except eller try-finally. Abort kaster et stille exception, som håndteres av koden i except eller finally.






Kommentarer
Skriv ny kommentar