• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Throwing an exception with integers and strings

 
Ray Zeigler
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.

-Nelson
 
Panagiotis Kalogeropoulos
Rancher
Posts: 99
Java Netbeans IDE
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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: http://docs.oracle.com/javase/tutorial/essential/exceptions/throwing.html

Hope this helps.
 
fred rosenberger
lowercase baba
Bartender
Pie
Posts: 12101
30
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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...
 
Edwin Torres
Ranch Hand
Posts: 55
Eclipse IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic