Perché ci sono eccezioni brutto numero in Java?

July 31

Perché ci sono eccezioni brutto numero in Java?


Le eccezioni possono causare programmi Java in crash, ma se usato correttamente, ma anche permettere ai programmatori di creare applicazioni in grado di far fronte a eventi imprevisti. eccezioni Numero spesso si verificano 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ò un'eccezione Formato numero. Con la comprensione delle eccezioni, si può imparare a creare programmi che forniscono una funzionalità affidabile.

Tipi di eccezione

programmi Java possono lanciare diversi tipi di eccezione. L'eccezione Formato numero è l'eccezione numerica più comune. A eccezione di runtime, si estende la classe Exception argomento illegale. 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 selezionata, i programmi possono compilare senza il vostro ambiente di sviluppo integrato che avvisa del possibile errore. L'eccezione Formato numero si verifica solo se un programma passa ingresso inadeguato a un metodo, per cui si può solo scoprire che quando viene eseguita l'applicazione.

Le cause

Le classi wrapper linguaggio Java forniscono rappresentazioni degli oggetti dei tipi di numero primitivi, tra cui 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 di stringa passata contiene un valore numerico. Tuttavia, il metodo seguente chiamata provoca Java per un'eccezione Formato numero perché la stringa non contiene un numero:

Integer.parseInt ( "r");

Il seguente codice causa anche l'eccezione, perché anche se la stringa è un numero, non è un numero intero:

Integer.parseInt ( "3.5");

Tutti questi estratti di codice compilare ed eseguire, in modo che il programmatore può venire a conoscenza dell'errore solo in fase di esecuzione. I valori non sono normalmente forniti esplicitamente, ma vengono letti da una sorgente esterna o un valore variabile.

attraente

È possibile intercettare le eccezioni Numero formato se i programmi sono suscettibili di buttarli. Aggiungendo il codice numero di analisi di un blocco try, quindi fornendo un nero fermo dopo di esso, è possibile creare programmi che continueranno a funzionare anche se un eccezione Formato numero si pone. Il codice di esempio riportato di seguito illustra questa struttura:

provare {
Integer.parseInt (numString);
}
catch (NumberFormatException numExc) {System.out.println (numExc.getMessage ()); }

La stringa parse in questo caso è rappresentato come un riferimento variabile, per cui il suo contenuto è sconosciuta. Se il contenuto della stringa non può essere analizzato come un intero, il codice salta immediatamente al blocco catch, dove è possibile fornire l'elaborazione alternativa.

Lancio

Così come la cattura di eccezioni, gli sviluppatori possono creare programmi Java in cui si gettano eccezioni personalizzate. Questa è una tattica comune con eccezioni non controllate come Formato numero. Il codice modificato di seguito viene illustrato:

catch (NumberFormatException numExc) {throw new BadNumberException (); }

Ciò consente ai programmatori di definire la propria classe eccezione personalizzata, che può essere di tipo controllato, e per fornire una strategia di coping adatto per l'applicazione.