Crea un programma Java , utilizzando il seguente schema come la classe e il metodo principale :
import java.io. *;
public class ExceptionDemo {
public static void main ( String [] args ) {
FileWriter FileOut = new FileWriter ( " outputfile.txt " ) ;
PrintWriter printOut = new PrintWriter ( FileOut ) ;
printOut.println ( "Testo di essere stampato in un file ");
printOut.close ();
fileOut.close ();
} }
Se si incolla il codice in un IDE (Integrated Development Environment ), che mette in evidenza gli errori di codice , vedrete che non sarà nemmeno in grado di compilare , perché vi è una " eccezione non gestita ". Il metodo di costruzione FileWriter può generare un'eccezione , per esempio se il file è stato specificato non può essere trovato
2
inserire il codice con l'eccezione non gestita in un blocco "try ", come segue: .
try {
FileWriter FileOut = new FileWriter ( " outputfile.txt " ) ;
PrintWriter printOut = new PrintWriter ( FileOut ) ;
printOut.println ( " testo che viene stampato su file ");
printOut.close ();
fileOut.close (); }
Questo dovrebbe evitare che il compilatore da lamentarsi per le linee che causavano errori di eccezione non gestita , ma creerà un nuovo tipo di errore , perché l'affermazione " try " non è ancora completa . L'affermazione " provare " è fondamentalmente un contenitore di codice che potrebbe generare un'eccezione , ma avete ancora di affermare che cosa dovrebbe succedere se una deroga è infatti gettato .
3
Inserisci una " catturare " economico come segue ( dopo la chiusura " provare " staffa ) :
cattura
( IOException ioe ) {
System.out.println ( " IOException si è verificato : " + ioe.getMessage ( ) ) ; }
Questo dovrebbe essere sufficiente per mantenere il compilatore felice , e vi permetterà di eseguire il programma. Tuttavia , tutto ciò che abbiamo fatto è evitare che il programma si blocchi se viene generata un'eccezione a questo punto. A seconda dei dettagli della vostra applicazione , si consiglia di inserire altro codice qui a riflettere ciò che è nel tuo blocco " try" , in quanto non sarà stato eseguito il codice . Non appena viene generata l'eccezione , l'esecuzione salta direttamente al codice di " cattura " .
4
Aggiungere gestori di eccezioni supplementari . A seconda della natura del programma , può essere opportuno includere codice diverso per tipi specifici di eccezione. Ad esempio , prima del gestore " IOException " si potrebbe includere :
cattura
( FileNotFoundException fnfe ) {
System.out.println ( " FileNotFoundException è verificato : " + fnfe.getMessage ( ) ) ;
}
Questo è un tipo più specifico di errore rispetto al IOException , quindi se l'eccezione generata non è un FileNotFoundException , il codice salta al gestore IOException più generale , invece. Concatenamento vostri gestori delle eccezioni in questo modo permette di dettare esattamente ciò che dovrebbe accadere per ogni tipo di errore .
Programmazione © www.354353.com