J'ai travaillé sur ce programme pendant assez de temps en temps et mon cerveau est frit. Je pourrais utiliser une aide de quelqu'un à la recherche de quelqu'un.
J'essaie de créer un programme qui lit une ligne de fichier texte par ligne et que chaque ligne est faite dans un arrayliste code> afin que je puisse accéder à chaque jeton . Qu'est-ce que je fais mal? P>
U:\Senior Year\CS451- Operating Systems\Project1 PCB\PCB.java:24: unreported exception java.io.IOException; must be caught or declared to be thrown
inputStream.close();}
^
U:\Senior Year\CS451- Operating Systems\Project1 PCB\PCB.java:15: unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown
inputStream = new BufferedReader(new FileReader("processes1.txt"));
^
U:\Senior Year\CS451- Operating Systems\Project1 PCB\PCB.java:18: unreported exception java.io.IOException; must be caught or declared to be thrown
while ((l = inputStream.readLine()) != null) {
^
6 Réponses :
Lorsque vous travaillez avec des E / S en Java la plupart du temps, vous devez gérer IoException qui peut se produire à tout moment lorsque vous lisez / écriez ou même fermer le flux.
Vous devez mettre votre blocage sensible dans un essai // Catch Block et gérez l'exception ici. P>
Par exemple: P>
try{ // All your I/O operations } catch(IOException ioe){ //Handle exception here, most of the time you will just log it. }
Lisez le tutoriel pour les exemples.
Java vérifie les spécifications d'exception à l'heure de la compilation. Vous devez soit attraper l'exception ou déclarer qu'il est lancé dans votre signature de méthode. Voici comment vous allez déclarer que cela peut être lancé à partir de votre méthode:
public void read (String [] args) throws java.io.IOException {
Good IDes créera le bloc de capture pour vous ou ajoutera l'exception à la déclaration de méthode. P>
Soyez informé que si vous ajoutez les exceptions à la déclaration de méthode selon la solution de Colin, toute méthode qui invoque votre méthode devra également avoir un bloc de capture approprié ou déclarer l'exception dans la déclaration de méthode. p>
J'ai eu le même problème. Je l'ai résolu en ajoutant la bibliothèque de printemps "org.springframework.core" p>
Vous pouvez plutôt faire
try{ // All your I/O operations } catch(Exception e){ //Handle exception here, most of the time you will just log it. }
Chaque fois "une exception non déclarée IoException; doit être attrapé ou déclaré être jeté"
Cette erreur est venue alors nécessaire pour mettre le code dans le bloc de capture.
Exemple
Ou la méthode de la jointe peut déclarer l'exception comme jetable lui-même. De plus, vous voudrez peut-être utiliser la syntaxe try-with-ressources au lieu d'essayer simplement / attraper.