Causa di eccezioni Java

June 13

Java è come tutte le altre lingue di programmazione in quanto ci sono regole severe su come i dati vengono trattati e la logica è seguita. Se il programma si discosta dalle regole o riceve un tipo di dati che non ci si aspetta, viene generato un errore. In Java l'errore è chiamato un'eccezione. Ci sono tre tipi di eccezioni in Java: controllato, errori e tempo di esecuzione.

eccezione controllata

L'eccezione controllato verifica a causa di un errore di programmazione. Questo di solito è visto quando il tipo sbagliato di dati viene passato a un metodo API Java. Un programmatore dovrebbe anticipare questi tipi di errori e verificare la presenza di dati corretti e gestire correttamente l'errore. Ad esempio, se un programma deve calcolare retribuzione lorda per ore lavorate dal tasso di paga moltiplicando e pagare rate è definito come un campo di caratteri, il computer potrebbe non sapere come eseguire la moltiplicazione da una variabile di carattere non è consentito in tale operazione. In Java si realizzerebbe un eccezione controllata.

errore di eccezione

eccezioni di errore vengono generati da circostanze al di fuori del programma Java. Se il programma dovesse stampare un report, ma nessuna stampante sono stati attaccati, si realizzerebbe un errore di eccezione. eccezioni di errore sono a differenza di eccezioni controllate e runtime; eccezioni di errore non possono essere catturati. Un'eccezione errore genererà sempre una traccia dello stack (vedi sotto).

eccezione di runtime

La classe finale delle eccezioni è l'eccezione di runtime. Questa è un'eccezione che viene generato all'interno dell'applicazione Java ma non è previsto. Un primo esempio di un'eccezione di runtime sarebbe cercare di accedere ad un elemento di matrice che è al di fuori del campo di applicazione definito dell'array.

Analisi dello stack

Se viene generata un'eccezione e non "catturato", quindi la Java Virtual Machine (JVM) genererà una traccia dello stack. La traccia è molto utile per un programmatore; mostra quali passi il programma aveva preso prima che l'eccezione è stata causata. Molte volte l'analisi dello stack elencherà la linea esatta di codice che ha causato l'eccezione. Da qui un programmatore può guardare il codice per determinare ciò che è sbagliato. Mentre stack sono molto pratico per i programmatori di utilizzare per il debug, un programma Java ben scritto non dovrebbe mai permettere all'utente di vedere una traccia dello stack. Se una traccia dello stack è stato visualizzato da un'applicazione web-based di Java, potrebbe dare agli hacker una road map su come hackerare il sito.

Try ... Catch Block

Java considera alcune operazioni come l'apertura e la lettura di file di essere il codice pericoloso. Questo codice ha bisogno di un trattamento speciale pericolo da Java. Codice pericolosa deve essere racchiusa in un blocco try ... catch. La porzione di cattura permette al programmatore di gestire le eccezioni con grazia. Se l'eccezione non è gestita dal programmatore, Java mostrerà una traccia dello stack. Un blocco try ... catch simile a questa:

provare
{
// Apre il file di scrivere a
Uscita = new PrintWriter (nuova FileWriter ( "output.dat"))
ANDARE
} Catch (IOException e) {
System.out.println ( "Impossibile aprire il file di output")
ANDARE

Ora, se l'apertura fallisce, il messaggio "Impossibile aprire il file di output" viene visualizzato, non una traccia di stack.