Mike wrote:
> Eller benytte det nye assert keyword:
>
> public PortTrans( final String TransId)throws Exception{
> assert transid valid : "Transid not vailid";
> }
Hvis du spørger Sun, så bør man ikke bruge assert til at verificere
præbetingelserne i en public metode eller konstruktør. Se
<
http://java.sun.com/j2se/1.4.2/docs/guide/lang/assert.html#usage>.
Jeg vil meget nødig have en J2EE applikationsserver kørende, hvor nogle af
de idriftsatte komponenter udøver denne strategi. I tilfælde af
assertionfejl så lukkes VM'en ned, hvilket ikke just er så godt for
driftsstabiliteten. Man kan selvfølgelig fange den konkrete AssertionError,
men så begynder det virkeligt at blive grimt og hele ideen med assertions
ryger fløjten.
Udover det så skal man explicit enable assertions ved opstart af den
virtuelle maskine. Er de ikke enablet så er der ikke længere noget tjek,
hvilket kan have fatale konsekvenser.
--
Jonas Kongslund