? Java tillade " hävda " nyckelordet för att göra det lättare att upptäcka och rapportera fel i Java 1.4 . Påståenden kan programmet ange ett villkor att det räknar med att vara sant . Om villkoret inte , rapporterar programmet ett fel som måste hanteras . Påstående Syntax
Syntaxen för ett påstående är mycket enkel :
hävda CODE
Koden måste utvärderas som antingen sant eller falskt . Om sant , då fortsätter programmet som vanligt . Om falskt , sedan en AssertionError kastas . På detta sätt , gör påståendet nyckelordet en programmerare att göra påståenden om tillståndet i programmet på specifika punkter och identifiera tillfällen när programmet går in i stater som inte är tillåtna . Addera När ska man använda Påståenden
Påståenden bör användas för att kontrollera invarianter , eller situationer som programmeraren tror aldrig kommer att inträffa. Nedanstående exempel på ett påstående om tillståndet för ett mynt är ett exempel på en invariant . Genom att använda påståenden för att kontrollera invarianter , programmerare uppnå två saker . Först ger de ett sätt för programmet att misslyckas om invarianta visar sig vara felaktiga på grund av minnesfel . Det andra ger de en klart läslig sätt för programmeraren att visa andra programmerare de antaganden som finns i hans kod .
Problem
Det centrala problemet med påståenden kan spåras till det faktum att de är en valfri funktion . Av olika skäl kan klientdatorerna välja att köra programmet med påståenden avstängd . Detta har en rad effekter . Först , kan programmeraren lägger inte någon kod i ett antagande som förändrar tillståndet i programmet , eftersom denna kod skulle inte längre köras om ett påstående misslyckades . Det andra , kan programmeraren aldrig förutsätta att påståenden kommer att utvärderas . Detta innebär att argumentet kontroll av metoder fortfarande ska utföras med det gamla undantag systemet , vilket aldrig kan vara inaktiverad . Slutligen, eftersom ett nytt sökord " hävda " har lagts till i språket , kan variabler i gamla koden har inte namnet " hävda . "
Påstående Exempel
Betrakta följande kod:
hävda ( mynt == HUVUD