|
|
|
|
|
salut
http://penserenjava.free.fr/pens_2.4/indexMaincfa9.html?chp=11&pge=00#00.008 Chouba, Pochard d'assaut .. |
|
Tu trouveras ci-dessous un exemple (bête et méchant) de classe qui essaie d'ouvrir un fichier.
Si l'extension du fichier est différente de ".txt" ou ".log", une exception est levée (avec un message spécifique). Si une ligne ne commence pas par "DATA#", la même exception est levée mauis avec un message différent. Une fois que tout le fichier a été lu, une exception est levée si le fichier ne contient pas 100 lignes au minimum. J'ai placé la classe d'excepion 'MauvaisFormatException' en classe interne, mais rien ne t'empêche de créer un classe à part entière (c'est même mieux). Comme tu peux le voir, je stocke tous les messages que l'exception peut renvoyer dans des public static final String. Je passe le message qui convient en argument à l'exception throw new MauvaisFormatException(MauvaisFormatException.BAD_FILE_FORMAT); C'est la méthode getMessage() qu tu dois overrider (surcharger) dans ton exception
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
/*
* Created on Jul 25, 2005
*
*/
/**
* @author Philippe Fery
*
*/
public class ExceptionDemo {
public ExceptionDemo() {
super();
}
public void openfile(String filePath) throws MauvaisFormatException, FileNotFoundException, IOException {
File file = new File(filePath);
int lineCounter = 0;
if (file.getName().endsWith(".txt") || file.getName().endsWith(".log")) {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = "";
while ((line = reader.readLine()) != null) {
lineCounter++;
if (line.startsWith("DATA#")) {} else {
throw new MauvaisFormatException(MauvaisFormatException.BAD_FILE_FORMAT);
}
}
if (lineCounter < 100) {
throw new MauvaisFormatException(MauvaisFormatException.BAD_FILE_EXTENSION);
}
} else {
throw new MauvaisFormatException(MauvaisFormatException.BAD_FILE_LENGTH);
}
}
class MauvaisFormatException extends Exception {
public static final String BAD_FILE_EXTENSION = "Extension de fichier non valide";
public static final String BAD_FILE_FORMAT = "Mauvais format de fichier";
public static final String BAD_FILE_LENGTH = "Mauvaise taille de fichier";
public String message;
public MauvaisFormatException() {
super();
this.message = BAD_FILE_FORMAT;
}
public MauvaisFormatException(String message) {
super(message);
this.message = message;
}
public String getMessage() {
return message;
}
}
public static void main(String[] args) {
ExceptionDemo demo = new ExceptionDemo();
try {
demo.openfile("c:/dir.txt");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (MauvaisFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
;-) HackTrack |
Résultats pour [Java] Créer une excpetion
Résultats pour [Java] Créer une excpetion
Résultats pour [Java] Créer une excpetion
Résultats pour [Java] Créer une excpetion
Résultats pour [Java] Créer une excpetion