Video: Skillnaden Mellan Kontrollerat Undantag Och Körtidsundantag
2024 Författare: Mildred Bawerman | [email protected]. Senast ändrad: 2023-12-16 08:42
Kontrollerat undantag vs Runtime-undantag
Undantag är speciella typer av händelser som kan störa det normala programflödet. Namnundantaget kommer från”exceptionell händelse”. Att kasta ett undantag är processen att skapa ett undantagsobjekt och överlämna det till runtime-systemet. När runtime-systemet tar emot undantagsobjektet kommer det att försöka hitta någon som hanterar det i samtalsstacken genom att korsa det i omvänd ordning (där metoderna kallades). Körningssystemet lyckas om det hittar en metod med en undantagshanterare. Undantagshanteraren är ett kodblock som officiellt kan hantera nämnda undantag. Om runtime-systemet hittar en lämplig hanterare skickas undantagsobjektet till hanteraren. Detta kallas fånga undantaget. Men om undantaget inte kan hanteras avslutas programmet. I Java,undantag ärver från Throwable-klassen. Kontrollerade undantag är undantag som hanteringen genomförs av kompilatorn. Runtimeundantag är en typ av undantag som inte kontrolleras av kompilatorn.
Vad är ett kontrollerat undantag?
Kontrollerade undantag är antingen objekt av klassen java.lang.exception eller dess underklasser (utom java.lang. RuntimeException och dess underklasser). Markerade undantag "kontrolleras" vid tidpunkten för sammanställningen. Det betyder att programmeraren måste antingen fånga eller kasta dessa undantag, annars skulle kompileringen klaga (orsakar ett kompilatorfel). På grund av denna anledning är många kontrollerade undantag mycket välkända för programmerare. Till exempel är IOException och dess underklasser kontrollerade undantag, och när programmeraren har att göra med åtkomst till eller ändring av en fil kontrollerar kompilatorn att alla möjliga IOExceptions tas om hand av programmeraren.
Vad är ett Runtime-undantag?
Runtime Undantag består av java.lang. RuntimeException och alla dess underklasser. Teoretiskt sett tjänar de samma syfte som kontrollerade undantag och kan kastas eller hanteras som kontrollerade undantag, men hanteringen av dem verkställs inte av kompilatorn. Därför tillhör Runtime-undantag familjen av okontrollerade undantag. NullPointerException, NumberFormatEception, ClassCastException och ArrayIndexOutOfBoundsException är vanliga runtimeundantag i Java.
Vad är skillnaden mellan Kontrollerat undantag och Runtime-undantag?
Även om både kontrollerade undantag och runtime-undantag är oönskade förekomster under genomförandet av ett program, har de skillnaderna. Kontrollerad undantagshantering genomförs av kompilatorn, men undantag för runtime är inte. Därför måste kontrollerade undantag kastas eller hanteras för att koden ska kunna kompileras, men det finns inget sådant krav angående undantag för körning. Följaktligen tillhör runtimeundantag kategorin okontrollerade undantag tillsammans med fel.
Nackdelen med kontrollerade undantag är att programmeraren måste hantera det även om hon inte vet hur man gör det. Så om programmeraren bara kastar ett nytt undantag utan att lägga in originalet, kommer stackspåret som tillhör det ursprungliga undantaget att gå förlorat. Det är här runtimeundantag är till nytta. Eftersom alla undantag för körning kan hanteras på ett enda ställe kan programmerare skriva mindre mängd kod. Å andra sidan, eftersom kontrollerade undantag måste fångas, finns det ingen överraskning för programmeraren. Hon kommer alltid att veta vilket kontrollerat undantag som kan kastas med en viss metod. I motsats till detta kan olika undantag för körning kastas utan programmerarens vetskap.
Rekommenderas:
Skillnaden Mellan Undantag Och Avdrag
Undantag mot avdrag Undantag och avdrag är begrepp som är förknippade med skattebetalningar. Alla inkomster som tjänar medborgare i ett land är skyldiga
Skillnaden Mellan Undantag Och Undantag
Undantag vs undantag Undantag och undantag är två ord som ofta förväxlas på grund av likheten i deras former och morfologi. Det finns faktiskt
Skillnaden Mellan Avbrott Och Undantag
Interrupt vs Exception I vilken dator som helst, under det normala körningen av ett program, kan det finnas händelser som kan få processorn att stoppas tillfälligt. evenemang
Skillnaden Mellan Kyckling Och Höna Och Pullet Och Kuk Och Cockerel Och Tupp Och Capon
Chicken vs Hen vs Pullet vs Cock vs Cockerel vs Rooster vs Capon Chicken, hen, pullet, cock, cockerel, rooster and capon, antagligen har ingen annan fågel så man
Skillnaden Mellan Kontrollerad Och Okontrollerad Undantag I Java
Nyckelskillnad - Kontrollerad jämfört med okontrollerad undantag i Java Ett undantag är ett runtime-fel. Det finns två typer av undantag som kallas markerade och avmarkerade