Nwlapcug.com


Qual è la differenza tra la generazione di un'eccezione & intercettazione di un'eccezione?

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. "Generazione di un'eccezione" si riferisce alla creazione di un oggetto, noto come un oggetto di eccezione e passandolo un componente software noto come un sistema di runtime che è progettato per supportare l'esecuzione di programmi per computer. "Intercettazione di un'eccezione" si riferisce a passare l'eccezione in un blocco di codice, noto come un gestore di eccezioni, che tenta di recuperare dall'evento anormale.

Cause delle eccezioni

In linea generale, gli errori di programmazione, gli errori di codice client ed errore della risorsa causare eccezioni. In genere, poco può essere fatto sulla programmazione errori, almeno non in termini di gestione delle eccezioni, ma se un programma tenta di eseguire qualche operazione illegale, per quanto riguarda l'applicazione interfaccia di programmazione è interessato un gestore di eccezioni può essere in grado di adottare misure di recupero. Allo stesso modo, se il sistema esaurisce la memoria o una connessione di rete ha esito negativo durante l'esecuzione del programma, un gestore di eccezioni può tentare nuovamente l'esecuzione dopo un periodo di tempo o registrare l'errore e interrompere l'esecuzione.

Oggetto eccezione

Un metodo è un blocco di codice che possa essere chiamati 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 deve immediatamente cessa l'esecuzione, crea un oggetto di eccezione e lo passa al sistema runtime. L'oggetto di eccezione contiene il tipo di errore causato e lo stato del programma quando si è verificato l'errore.

Generazione di eccezioni

Le eccezioni possono essere definite in una delle librerie standard del linguaggio di programmazione o definite dal programmatore. Nel primo caso eccezioni vengono generate automaticamente dal sistema, mentre in quest'ultimo caso le eccezioni sono programmate in modo esplicito utilizzando un'istruzione throw; la sintassi dell'istruzione throw è semplicemente "tiro-oggetto exception;" Se non esiste alcun modo ragionevole per gestire un errore nel punto del programma in cui si verifica l'errore, spesso ha senso per un programma deliberatamente genera un errore in quel punto.

Intercettazione di eccezioni

Dopo che viene generata un'eccezione, il sistema di runtime tenta di trovare un blocco di codice in grado di gestire l'eccezione..--in altre parole, un gestore di eccezioni appropriato..--nello stack di chiamate. Lo stack di chiamate è un elenco dei metodi che il programma chiamato fino al punto in cui l'errore si è verificato nell'ordine sono stati denominati. Se il sistema di runtime trova un gestore di eccezioni appropriato, il controllo passa a tale blocco di codice. In caso contrario, il sistema di runtime e il programma termina. Se il sistema di runtime trovare un gestore di eccezioni, esso esegue il blocco di codice per gestire l'eccezione e continua a essere eseguito normalmente il resto del programma.