Le eccezioni possono causare il crash di programmi Java , ma se usato correttamente , ma anche permettere ai programmatori di creare applicazioni in grado di far fronte a eventi imprevisti . Numero eccezioni si verificano spesso quando i programmi tentano di analizzare i numeri , la conversione di stringhe di testo in valori numerici . Se un programma Java utilizza un metodo in cui un numero non è del tipo previsto , può lanciare un Formato numero di eccezione . Con la comprensione delle eccezioni , si può imparare a creare programmi che offrono funzionalità affidabile . Tipi di eccezione
programmi Java possono lanciare diversi tipi di eccezione. Il Formato numero Eccezione è l'eccezione numerica più comune . A eccezione di runtime , si estende l' Illegal classe Exception Argument. Normalmente questa eccezione si verifica quando si utilizza un metodo per tentare di analizzare una stringa come un numero , ma il contenuto della stringa non è un numero del tipo corretto . Poiché si tratta di una eccezione unchecked , i programmi possono compilare senza il vostro ambiente di sviluppo integrato che avvisa del possibile errore . Il Formato numero di eccezione si verifica solo se un programma passa ingresso appropriato a un metodo , quindi si può scoprire solo quando l'applicazione viene eseguita .
Provoca
Il linguaggio Java Wrapper classi forniscono rappresentazioni di oggetti dei tipi numerici primitivi , tra integer , float e double . Utilizzando queste classi , programmi in grado di analizzare i valori delle stringhe come tipi numerici , come segue :
Integer.parseInt ( "3") ;
Questo codice viene eseguito senza errori , perché il parametro stringa passata contiene un valore numerico . Tuttavia, il metodo seguente causa Java per gettare un Formato numero Eccezione perché la stringa non contiene un numero:
Integer.parseInt ( " r");
Il seguente codice fa sì che anche l'eccezione , perché anche se la stringa è un numero , non è un numero intero:
Integer.parseInt ( " 3.5" ) ;
Tutti questi pezzi di codice compilare ed eseguire , in modo il programmatore può solo diventare consapevoli dell'errore in fase di esecuzione . I valori non sono normalmente forniti in modo esplicito , ma vengono letti da una sorgente esterna o un valore variabile .
Facendo
Potete prendere Numero Eccezioni formato se i tuoi programmi sono suscettibili di buttarli . Aggiungendo il tuo codice di analisi numero di un blocco try , quindi fornendo una cattura nero dopo di esso, è possibile creare programmi che continueranno a funzionare anche se un numero formato eccezione scaturisce . Il seguente codice di esempio illustra questa struttura :
try { Integer.parseInt ( numString ) ; } catch ( NumberFormatException numExc ) { System.out.println ( numExc.getMessage ( ) );}
la stringa parse in questo caso è rappresentato come riferimento variabile , per cui il suo contenuto è sconosciuto . Se il contenuto di stringa non può essere analizzato come un intero, il codice salta immediatamente al blocco catch , in cui è possibile fornire l'elaborazione alternativa .
Lancio
Così come la cattura eccezioni , gli sviluppatori possono creare programmi Java in cui si gettano le eccezioni personalizzate . Questa è una tattica comune con eccezioni unchecked come Formato numero . Il codice riportato di seguito illustra modificata :
cattura
( NumberFormatException numExc ) { throw new BadNumberException ( ) ; }
Questo permette ai programmatori di definire la propria classe di eccezioni personalizzate , che possono essere di tipo controllato , e per fornire una strategia di coping adatto per l'applicazione.