I Java -programmering , undantagen tillåter utvecklare att hantera programkörning när något går fel . Undantag kastas när ett Java -program påträffar något som inte ingår i den normala programkörningen . Programmerare har möjlighet att fånga undantag så deras ansökningar kan fortsätta att fungera även när undantag uppstår . Grundlig testning är ett viktigt verktyg för att skydda mot undantag som kan avbryta normal exekvering . Sammanställning
Programmerare uppleva en av de viktigaste skillnaderna mellan kontrollerade och okontrollerade undantag under själva utvecklingsprocessen . Om ett undantag är markerad , kommer kompilatorn varna utvecklaren att fel om sådana undantag inte har hanterats . Om en utvecklare använder en IDE såsom Eclipse eller NetBeans , kommer de inte att kunna kompilera och köra sina program ordentligt om någon kontrollerade undantag inte behandlas . Med okontrollerad undantag , kommer ingenting hindra sammanställning , men de kan orsaka oförutsedda runtime fel .
Development
Felmarkering är en av de främsta fördelarna med att använda en IDE för att utveckla Java-program . Det faktum en IDE flaggor upp kontrollerat undantag tillåter programmerare att ta hand om eventuella avbrott i programmet flöde med " försök " och " fånga " kodblock . Dessa block ger programmet instruktioner för fall där undantag förekommer , vilket program för att fortsätta köra om möjligt . Dock kommer en IDE inte varna programmerare att potentialen av ogranskade undantag medan de skriver , kompilera och köra koden , så dessa kan endast upptäckas vid provning.
Konsekvenser
konsekvenserna av kontrollerade och okontrollerade undantag är fundamentalt olika . Rutig undantag är lättare att fånga under kodning , vilket innebär att de är mindre benägna att hindra framgångsrika programkörning . Okontrollerade undantag är mindre förutsägbar , kan så göra ett program att krascha . Men i många fall kan förekomsten av okontrollerade undantag under körning vara ett tecken något oregelbunden hänt i termer av input eller beräkning , i vilket fall programmet inte kan ha möjlighet att på ett säkert sätt gå vidare .
program Flow
Undantagshantering är en viktig del i att skapa robusta , tillförlitliga Java-program . Om ett undantag , vare sig kontrollerat eller okontrollerat , uppstår under körning , vad händer beror på om programmeraren har gett " försöka " och " fånga " block . Om dessa block är närvarande vid de särskilda kastas undantagstyper , kan programmet ha möjlighet att återhämta sig . Sådana tekniker kan därför endast med framgång användas i de fall där det är säkert att fortsätta även om ett undantag kastas .
Exempel
Vanliga exempel på kontrollerade undantagen hör de som är associerade med input . När Java-program använder externa data , finns det en ökad risk för att något ska gå fel . Om en fil eller datakälla inte kan hittas , inte innehåller de nödvändiga uppgifterna eller kan inte anslutas till via ett nätverk , kan Java kasta ett undantag . Okontrollerade undantag uppstår vanligen från räknefel , till exempel division med noll eller försöker komma åt en array index som är out of bounds Addera
.