Mailing List Archive

Support open source code!


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: java question




use a loop with an exit condition, or an infinite loop with a break, or ...

int someInt;
while()
{
	try
	{
		someInt = Integer.parseInt(readUserInput());
		if(someInt >= 1 && someInt <= 10)
			break;
	}
	catch (NumberFormatException)
	{
		;
	}
}

Try not to create and throw new exceptions also when they are not needed.

Tom.

On Thu, Jun 14, 2001 at 12:19:47AM +0900, B0Ti wrote:
> Evening,
> 
> Maybe it's trivial, but I cannot find a clean solution to this.
> I need to read in an integer and it must be within a limit. Something
> like this:
> 
> try {
>     int someInt = Integer.parseInt(readUserInput());
>     if (someInt > 10 || someInt < 0) throw new NumberFormatException;
> }
> catch (NumberFormatException) { /* goto begin :( ...*/ }
> 
> My problem is that when NumberFormatException is caught I need to go
> back (restart at try)  and read in the integer again.
> Having grown up on basic I would immediately use a goto statement if
> java would allow it.
> How should this be done cleanly and effectively?
> 
> --
> B0Ti.
> 
> 
> 
> -----------------------------------------------------------------------
> Next Nomikai Meeting:    Fri, June 15 19:30-  Tengu Tokyo Eki-Mae
> Next Technical Meeting:  Sat, July 14 13:30- 
> -----------------------------------------------------------------------
> more info: http://www.tlug.gr.jp           Sponsor: Global Online Japan
> 

-- 
Thomas O'Dowd. - Nooping - http://nooper.com
tom@example.com - Testing - http://nooper.co.jp/labs


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links