erro: exceção não reportada FileNotFoundException; deve ser capturado ou declarado para ser lançado

Eu estou tentando criar um programa simples que irá produzir uma string para um arquivo de texto. Usando o código que encontrei aqui, juntei o seguinte código:

import java.io.*; public class Testing { public static void main(String[] args) { File file = new File ("file.txt"); file.getParentFile().mkdirs(); PrintWriter printWriter = new PrintWriter(file); printWriter.println ("hello"); printWriter.close(); } } 

J-grip me lança o seguinte erro:

  ----jGRASP exec: javac -g Testing.java Testing.java:10: error: unreported exception FileNotFoundException; must be caught or declared to be thrown PrintWriter printWriter = new PrintWriter(file); ^ 1 error ----jGRASP wedge2: exit code for process is 1. 

Como sou muito novo no Java, não tenho ideia do que isso significa. Alguém pode me apontar na direção certa?

Você não está dizendo ao compilador que há uma chance de lançar um FileNotFoundException um FileNotFoundException será lançado se o arquivo não existir.

tente isso

 public static void main(String[] args) throws FileNotFoundException { File file = new File ("file.txt"); file.getParentFile().mkdirs(); try { PrintWriter printWriter = new PrintWriter(file); printWriter.println ("hello"); printWriter.close(); } catch (FileNotFoundException ex) { // insert code to run when exception occurs } } 

um PrintWriter pode lançar uma exceção se houver algo errado com o arquivo, como se o arquivo não existisse. então você tem que adicionar

 public static void main(String[] args) throws FileNotFoundException { 

Em seguida, ele irá compilar e usar uma cláusula try..catch para capturar e processar a exceção.

Se você é muito novo em Java e está apenas tentando aprender a usar o PrintWriter , aqui está um código básico:

 import java.io.*; public class SimpleFile { public static void main (String[] args) throws IOException { PrintWriter writeMe = new PrintWriter("newFIle.txt"); writeMe.println("Just writing some text to print to your file "); writeMe.close(); } } 

Isso significa que quando você chama o new PrintWriter(file) , ele pode lançar uma exceção. Você precisa lidar com essa exceção ou fazer com que seu programa seja capaz de relançá-la.

 import java.io.*; public class Testing { public static void main(String[] args) { File file = new File ("file.txt"); file.getParentFile().mkdirs(); PrintWriter printWriter; try { printwriter = new PrintWriter(file); printWriter.println ("hello"); printWriter.close(); } catch (FileNotFoundException fnfe) { // Do something useful with that error // For example: System.out.println(fnfe); } } 
Intereting Posts