File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Throwing an exception with integers and strings Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Throwing an exception with integers and strings" Watch "Throwing an exception with integers and strings" New topic

Throwing an exception with integers and strings

Ray Zeigler

Joined: Jul 06, 2012
Posts: 18
Hello, Im looking for an example of how to throw an exception for an input string that;

rejects characters in the alphabet such as "abc..."
and only accepts numbers in the form of "1 2 3.."

Im fairly new to java and Im just looking for a solid example of this code.

Panagiotis Kalogeropoulos

Joined: May 27, 2011
Posts: 99

Generally, exceptions should be thrown only for unexpected conditions, those that you can't foresee and control through your code. It would be better if you can avoid to throw an exception by using some sort of validation (an if-else for example).

For educative purposes and to answer your question, a simple way to throw an exception for a "wrong" input String would be (in pseudocode):

read String;
if String contains alphabetical characters, then throw Exception (IllegalArgumentException would be a good candidate in our case);

So you should consider two things: First, create a proper validation method for your String and then throw the appropriate exception if your input contains alphabetical characters. The validation part will be up to you, the part of throwing an exception can be covered here:

Hope this helps.
fred rosenberger
lowercase baba

Joined: Oct 02, 2003
Posts: 11955

I agree. But regardless of whether you use exceptions or not, the first step is to define what EXACTLY is and is not allowed. What about symbols? What about commas, decimal points, negative signs? In accounting practices, I believe parentheses are acceptable to indicate a negative value.

And don't forget that different locations in the world use the '.' and the ',' in the exact opposite manner...

There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Edwin Torres
Ranch Hand

Joined: Mar 19, 2011
Posts: 55

I would create a validation method that accepted an input String and returned true/false if it was valid or not. As others have suggested, check for all possible input characters. Is white space allowed (space, tab)? How big can the input string be? If it represents an integer, you can use Integer.parseInt(String s) to see if it is valid. This method will throw a NumberFormatException if it cannot parse the String as an int.

Twitter: @realEdwinTorres
Blog: java Friendly
I agree. Here's the link:
subject: Throwing an exception with integers and strings
jQuery in Action, 3rd edition