? Java lagt til " hevde " søkeord for å gjøre det lettere å oppdage og rapportere feil i Java 1.4 . Påstander tillate programmet å angi en betingelse at det forventer å være sant . Skal tilstanden mislykkes , melder programmet en feil som må håndteres . Påstand Syntax
syntaksen for en påstand er svært enkel : en
hevde KODE
Koden må vurdere som enten sant eller usant . Hvis det stemmer , så programmet fortsetter som vanlig. Hvis falsk , deretter en AssertionError er kastet . På denne måten gjør at påstanden søkeordet en programmerer til å gjøre påstander om tilstanden til programmet på bestemte punkter og identifisere tider når programmet går inn i stater som ikke er tillatt .
Når skal du bruke Påstander
med
Påstander bør brukes til å sjekke invariantene , eller situasjoner som programmerer mener vil aldri skje. Nedenstående eksempel på en påstand om tilstanden til en mynt er et eksempel på en invariant . Ved å bruke påstander for å sjekke invariantene , programmerere oppnå to ting. Først gir de en måte for programmet å mislykkes hvis invariant viser seg å være falsk på grunn av korrupt minne . Sekund, gir de en tydelig lesbar måte for programmereren å vise andre programmerere forutsetningene som finnes i koden sin .
Problemer
sentrale problemet med påstander kan spores tilbake til det faktum at de er en valgfri funksjon . For en rekke årsaker , kan klientmaskinene velge å kjøre programmet med påstander slått av. Dette har en rekke effekter . Først, kan programmereren ikke satt noen kode i en antagelse som endrer tilstanden til programmet , siden denne koden ikke lenger ville bli kjørt hvis en påstand mislyktes. Sekund, kan programmereren aldri anta at påstandene vil bli vurdert. Dette betyr at argumentet ser etter metoder bør likevel utføres ved hjelp av gamle unntak system , som kan aldri bli deaktivert. Til slutt, siden en ny søkeordet " hevder " har blitt lagt til språket , kan variablene i gamle koden ikke ha navnet " hevde . "
Påstand Eksempel
Betrakt følgende kode :
hevde ( mynt == hoder