In alcuni linguaggi di programmazione , come C + + e Java , un'eccezione - abbreviazione di " evento eccezionale " - è un evento che sconvolge la normale esecuzione di un programma . " Lanciare una eccezione " si riferisce alla creazione di un oggetto , noto come un oggetto eccezione , e passando un componente software chiamato un sistema di runtime che è stato progettato per supportare l'esecuzione di programmi per computer . " Facendo una eccezione " si riferisce al passaggio l'eccezione di un blocco di codice , noto come un gestore di eccezioni , che cerca di riprendersi dalla manifestazione anormale . Cause di eccezioni
generale, errori di programmazione , errori di codice cliente e delle risorse guasto per causa di eccezioni . In genere , poco si può fare sugli errori di programmazione , almeno non in termini di gestione delle eccezioni , ma se un programma tenta di eseguire qualche operazione illegale , per quanto riguarda l' interfaccia di programmazione delle applicazioni è interessato un gestore di eccezioni possono essere in grado di adottare misure di recupero . Allo stesso modo , se il sistema esaurisce la memoria o una connessione di rete non riesce durante l'esecuzione del programma , un gestore di eccezioni può ritentare l'esecuzione dopo un momento o accedere al fallimento e l'esecuzione battuta d'arresto.
Eccezione Oggetto
un metodo è un blocco di codice che può essere chiamato per nome , in qualsiasi punto di un programma per computer. Quando si verifica un errore all'interno di un metodo, il codice che ha causato l' errore cessa immediatamente l'esecuzione , crea un oggetto eccezione e lo passa al sistema runtime . L' oggetto eccezione contiene il tipo di errore causato e lo stato del programma in cui si è verificato l' errore .
Generazione di eccezioni
Eccezioni possono essere definiti in una delle librerie standard del linguaggio di programmazione o definiti dal programmatore . Nel primo caso vengono generate eccezioni automaticamente dal sistema , mentre in quest'ultima circostanza eccezioni sono programmati in modo esplicito utilizzando un'istruzione throw , la sintassi dell'istruzione throw è semplicemente " buttare eccezione - oggetto :" Se c'è modo ragionevole per gestire un errore esiste al punto del programma in cui si verifica l'errore , spesso ha senso per un programma di gettare deliberatamente un errore in quel punto .
Facendo eccezioni
Dopo una eccezione viene gettato , il sistema runtime tenta di trovare un blocco di codice in grado di gestire l'eccezione - in altre parole , un gestore di eccezioni del caso - nello stack di chiamate . Lo stack di chiamata è un elenco dei metodi che il programma chiamato fino al punto in cui si è verificato l' errore nell'ordine in cui sono stati chiamati . Se il sistema runtime trova un gestore eccezioni appropriato , il controllo passa al blocco di codice . In caso contrario , il sistema runtime e il programma terminano . Se il sistema di runtime non trovare un gestore di eccezioni , viene eseguito il blocco di codice per gestire l'eccezione e continua a eseguire il resto del programma normalmente .