• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Bear Bibeault
  • Liutauras Vilda
  • Jeanne Boyarsky
  • Junilu Lacar
  • Henry Wong
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Jj Roberts
  • Tim Holloway
  • Piet Souris
  • Himai Minh
  • Carey Brown
  • salvin francis

unreported exception

Ranch Hand
Posts: 42
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am getting this error, but I don't know what it means. I've copied the exercise straight off the example, but it won't compile. What am I doing wrong? I haven't learned about exceptions, yet so I'm not trying to throw any.

FileSave.java:12: error: unreported exception FileNotFoundException; must be caught or declared to be thrown
PrintWriter outputFile = new PrintWriter(filename);
1 error

Posts: 825
Python Ruby Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
And error message says that PrintWriter throws one, so when you declare it you need to put it in try block or try-with-resources statement. Another option would be to declare your method to throw the exception but I would recommend one of the first two options.
Posts: 13
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There are two ways to handle this error:-
1) To add throws after method declaration like wise

2) declare this variable enclose with try and catch block

[Added code tags - see UseCodeTags for details]

Atul Itankar

InfoCepts | www.infocepts.com
Posts: 4568
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Just to add a bit more context: Java has the concept of "checked exceptions". These are all exceptions that extend Exception, except for those that extend RuntimeException. They are "checked" because the compiler forces you to handle them. If you execute any code that might throw a checked exception, you have two options:

- Handle it there and then, in a try/catch block
- Declare your method as throwing that exception, using the throws statement. This forces the next calling method above to deal with it (again, using one of the two approaches).

(these correspond to the two approaches Kemal and Atul mention).

The PrintWriter constructor that takes a String as an argument has the declaration throws FileNotFoundException - see the Javadocs at java.io.PrintWriter#PrintWriter(java.lang.String). That's a checked exception, so you have to use one of the two approaches listed above.

See the Java Tutorials for more on exceptions.
For my next trick, I'll need the help of a tiny ad ...
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
    Bookmark Topic Watch Topic
  • New Topic