Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes parsing question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "parsing question" Watch "parsing question" New topic
Author

parsing question

Faheem Khan
Greenhorn

Joined: Feb 21, 2011
Posts: 3
Hi all,

I have a quick question about 'parse exceptions' in...

1. Integer.parseInt(...)
2. DataFormat's parse() method.

I've noticed that Integer.parseInt() throws an unchecked run-time exception (NumberFormatException which extends IllegalArgumentException) when it can't parse an integer e.g.
int a = Integer.parseInt("4a");

But on the other hand... if we have

String someStringToParse = ...;
DateFormat df = DateFormat.getDateInstance();
try{
df.parse(someStringToParse);
}catch(ParseException p){
....
}

We're forced to handle (or declare) a ParseException.

Why didn't the Java designers have Integer.ParseInt(...) throw a ParseException or make the DateFormat parse method throw a DateFormatException(doesn't exist) or atleast make the NumberFormatException a checked exception for some kind of consistency in the different parsing methods?

Thanks for your time,

Faheem
Stephan van Hulst
Bartender

Joined: Sep 20, 2010
Posts: 3986
    
  18

Likely because the methods were designed by different architects with different ideas.

In my opinion, the date parsing method should have thrown an unchecked exception as well.

Both classes should then provide methods that let you check whether a given string is valid for parsing. Sadly, this isn't the case.


The mind is a strange and wonderful thing. I'm not sure that it will ever be able to figure itself out, everything else, maybe. From the atom to the universe, everything, except itself.
Javin Paul
Ranch Hand

Joined: Oct 15, 2010
Posts: 294

I agree, unchecked Exception results in more cleaner code than checked exception so in this case DateFormat.parse() should throw unchecked Exception.


SQL Query Interview Question
Faheem Khan
Greenhorn

Joined: Feb 21, 2011
Posts: 3
Thanks for the replies

I guess it's something to look out for on the exam.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: parsing question
 
jQuery in Action, 3rd edition