? I vissa dator programmeringsspråk , till exempel C + + och Java , ett undantag - kort för " exceptionell händelse " - är en händelse som stör den normala körningen av ett program . " Att kasta ett undantag " hänvisar till att skapa ett objekt , känd som ett undantag objekt , och passerar det en programvara komponent som kallas en runtime -system som är utformat för att stödja genomförandet av datorprogram . " Fånga ett undantag " avser passera undantaget till ett block av kod , känd som ett undantag handler , som försöker återhämta sig från en sådan händelse . Orsaker Undantag
Generellt sett , att programmeringsfel , klient fel kod och resurs misslyckande undantag får kastas . Normalt kan lite göras om programmeringsfel , åtminstone inte när det gäller hantering av undantag , men om ett program försöker utföra någon illegal verksamhet , så långt som det programmeringsgränssnitt avser ett undantag handler kanske kan ta återhämtning steg . Likaså om att systemet har slut på minne eller en nätverksanslutning misslyckas under programkörning , får ett undantag handler åter försöka köra efter en tid eller logga felet och stoppa exekvering .
Undantagsobjektet
en metod är ett block av kod som kan kallas vid namn när som helst i ett datorprogram . När ett fel uppstår i en metod , den kod som orsakade felet upphör verkställigheten omedelbart skapar ett undantag objektet och skickar den till runtime -systemet . Undantaget objektet innehåller den typ av orsakat felet och tillståndet i programmet när felet inträffade .
Kastar Undantag
Undantag kan definieras på en av programspråket s standardbibliotek eller definieras av programmeraren . I det förra fallet undantag kastas automatiskt av systemet , medan i det senare fallet undantagen uttryckligen programmeras med en throw , syntaxen i throw är helt enkelt " kasta undantag - objektet , " Om inget rimligt sätt att hantera ett fel föreligger vid den punkt i programmet där felet inträffar , är det ofta klokt för ett program för att medvetet kasta ett fel på den punkten . Addera Catching undantag
efter ett undantag kastas , försöker runtime systemet för att hitta ett block av kod som kan hantera undantag - med andra ord , ett lämpligt undantag handler - i anropsstacken . Samtalet stack är en lista över de metoder som programmet kallas upp till den punkt där felet uppstod i den ordning de kallades . Om runtime systemet hittar ett lämpligt undantag handler , övergår kontrollen till att kodblock . Om inte, runtime- systemet och programmet avslutas. Om runtime -systemet gör att ett undantag handler , kör det block av kod för att hantera undantag och fortsätter att köra resten av programmet normalt . Addera