Er der nogen måde at kaste en kontrolleret undtagelse fra en metode, der ikke har en kast-klausul?
Er der nogen måde at kaste en kontrolleret undtagelse fra en metode, der ikke har en kast-klausul?

Video: Er der nogen måde at kaste en kontrolleret undtagelse fra en metode, der ikke har en kast-klausul?

Video: Er der nogen måde at kaste en kontrolleret undtagelse fra en metode, der ikke har en kast-klausul?
Video: Коллектор. Психологический триллер 2024, April
Anonim

9 svar. Du kan kaste umarkeret undtagelser uden at skulle deklarere dem, hvis du virkelig vil. Ikke markeret undtagelser udvide RuntimeException. Kaster, der udvider Fejl er også ukontrolleret, men bør kun bruges til virkelig alvorlige problemer (såsom ugyldig bytekode).

Simpelthen så, kan vi smide kontrolleret undtagelse?

Men hvis vi kaster -en kontrolleret undtagelse ved brug af kaste udmelding, vi MÅ enten håndtere undtagelse i catch blok eller metode meget eksplicit erklære det ved hjælp af kaster erklæring. I Java er hver underklasse af Error og RuntimeException umarkeret undtagelse . EN kontrolleret undtagelse er alt andet under Throwable-klassen.

Ydermere, kan vi smide en undtagelse uden kast? Du kan kaste umarkeret undtagelser uden at skulle erklære dem hvis du virkelig gerne vil. Ikke markeret undtagelser udvide RuntimeException. Throwables, der udvider Error, er også umarkerede, men bør kun bruges til virkelig alvorlige problemer (såsom ugyldig bytekode).

Desuden, hvad sker der, når du kaster en kontrolleret undtagelse fra en metode?

Kontrollerede undtagelser er kontrolleret på kompileringstidspunktet. Det betyder, hvis en metode er smider en kontrolleret undtagelse så det bør håndtere undtagelse ved hjælp af try-catch blok eller det bør erklære undtagelse ved brug af kaster søgeord, ellers vil programmet give en kompileringsfejl.

Hvilket nøgleord skal bruges i metodehovedet for en metode, der kan give en markeret undtagelse, hvis undtagelsen ikke håndteres i metoden?

Det smid søgeord i Java er Brugt til eksplicit kaste en undtagelse fra en metode eller en hvilken som helst blok af kode. Vi kan kaste enten kontrolleret eller umarkeret undtagelse.

Anbefalede: