14. december 2003 - 16:46Der er
8 kommentarer og 2 løsninger
Hvad gør assert?
Det reserverede ord 'assert', hvad gør det, og hvorfor kan jeg ikke kompilere kode, hvor det anvendes? Følgende er et eksempel jeg har fundet hvor assert bruges, hvad gør assert der?
public class A { // ... public void f() { assert !Thread.holdsLock(this); synchronized(this) { // ... } } }
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg vil betragte den som mest relevant som et værktøj til at få fejl til at ske der hvor de reelt er opstået.
Vi kender formentlig alle den situation hvor man har en null pointer eller division by zero fejl et sted og så skal man gennemtrawle den halve applikation for at finde det sted, hvor det startede med at gå galt.
Et keyword i sproget er det som gør det nemmest at minimere overhead når assertions ikke er slået til.
Dit eksempel skulle jo laves som:
if(assertionsEnables) if(!Thread.holdsLock(this)) throw new IllegalArgumentException("precondition not satisfied");
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.