En compiler til Java-programmeringssproget kontrollerer på kompileringstidspunktet, at et program indeholder handlere for kontrollerede undtagelser, ved at analysere, hvilke kontrollerede undtagelser der kan være resultatet af udførelse af en metode eller konstruktør. For hver kontrolleret undtagelse, som er et muligt resultat, er throws-sætningen for metoden (§8.4.)
Hvordan ved compiler, hvilken type undtagelse der forekommer?
Når der opstår en undtagelse i dit program, undersøges catch-blokke sekventielt fra top til bund for at finde en overensstemmelse mellem typen af undtagelse, der opstod, og typen af undtagelsen, som catch block håndterer.
Hvordan kontrolleres afkrydsede undtagelser på kompileringstidspunktet?
2 svar. Markerede undtagelser kontrolleres på kompileringstidspunktet for at sikre, at du håndterer dem, enten ved at fange dem eller erklære den indeholdende metode, kaster undtagelsen Ved kørsel er der ingen forskel mellem kontrollerede og umarkerede undtagelser: de behandles identisk af JVM.
Hvordan finder jeg markerede undtagelser?
- checked undtagelse kontrolleres af compileren, og som programmør skal du håndtere det ved hjælp af try-catch-finally, throws.
- unchecked undtagelse er ikke kontrolleret af compileren, men du kan valgfrit administrere det eksplicit.
Kan markerede undtagelser fanges?
3 svar. Ikke-markerede undtagelser er undtagelser, der ikke behøver at blive fanget i en try-catch-blok. Ikke-markerede undtagelser er underklasser af RuntimeException- eller Error-klasserne. Markerede undtagelser er undtagelser, der skal fanges i et forsøg - catch block.